我需要为JFrame
设置背景图片,并使用JLabel
显示BorderLayout
。在查看其他问题后,我写下了以下代码:
JFrame frame = new JFrame("My window");
JTextField username = new JTextField();
Button startGame = new Button("Enter");
JPanel bottomPanel = new JPanel();
bottomPanel.add(username);
bottomPanel.add(startGame);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.add(bottomPanel, BorderLayout.PAGE_END);
frame.setContentPane(new JLabel(background));
frame.pack();
frame.setVisible(true);
问题在于底部窗格,JPanel
包含JButton
和JTextField
,并未在GUI上显示。
我发现使用此答案(How to set a background picture in JPanel)中显示的GridBagLayout
实际上有效,但设置起来并不容易,我更喜欢使用默认BorderLayout
}。