Tag: background image

JFrame与背景图像和JPanel

我有以下内容: public class Frame { public static void main(String[] args) { JFrame frame = new JFrame(“Frame Demo”); Panel panel = new Panel(); frame.add(panel); frame.setBounds(250,100,800,500); frame.setVisible(true); } } public class Panel extends JPanel { JButton singlePlayerButton; JButton multiPlayerButton; BufferedImage image; Gui gui; public Panel() { gui = new Gui(); add(gui); try { image = ImageIO.read(new File(“C:\\Users\\void\\workspace\\BattleShips\\src\\Testumgebung\\background\\battleship_main.jpg”)); […]

背景图像JFrame与内容

我有一个带BorderLayout的JFrame ,四面都有面板(北,东,……)。 在面板中主要有标签和按钮。 现在我希望框架有一个背景图像,一些研究告诉我,我必须更改框架的内容窗格。 但是当我尝试这个时,内容会被放入后台并且不可见。 另外,如果调整帧大小,我不知道如何调整图像大小。 是否有一个简单的解决方案或我将不得不重做我的大部分代码?

在JFrame中的背景图像

这个问题已被问到很多,但到处都是答案不足。 通过扩展JPanel并覆盖paintComponent,我可以得到一个JFrame来显示背景图像,如下所示: class BackgroundPanel extends JPanel { private ImageIcon imageIcon; public BackgroundPanel() { this.imageIcon = Icons.getIcon(“foo”); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(imageIcon.getImage(), 0,0,imageIcon.getIconWidth(),imageIcon.getIconHeight(),this); } } 但是现在,如何在该背景之上添加组件? 我走的时候 JFrame w = new JFrame() ; Container cp = w.getContentPane(); cp.setLayout(null); BackgroundPanel bg = new BackgroundPanel(); cp.add(bg); JPanel b = new JPanel(); b.setSize(new Dimension(30, 40)); […]