我正在使用我的第一个Java Swing应用程序,我正在使用Windows Builder。
我有一个扩展JFrame的MainFrame。
public class MainFrame extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainFrame frame = new MainFrame();
frame.setVisible(true);
PanelTest panelTest = new PanelTest();
frame.getContentPane().add(panelTest);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MainFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
}
}
然后我在另一个班级我的JPanel
package gui;
public class PanelTest extends JPanel {
/**
* Create the panel.
*/
public PanelTest() {
setBounds(100, 100, 1225, 835);
//getContentPane().setLayout(new BorderLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
//getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(null);
{
JLabel lblCreacion = new JLabel("Hello");
lblCreacion.setBounds(180, 16, 427, 20);
contentPanel.add(lblCreacion);
}
}
我没有得到它,面板在Windows Builder中工作正常,但是一旦我添加它,什么都没有出现,JFrame中已经有了一个布局,所以我不知道缺少什么。
谢谢。
答案 0 :(得分:0)
问题是,在使用frame.setVisible(true)使元素可见后添加元素时,它不起作用;
代码应该是这样的:
PanelTest panelTest = new PanelTest();
frame.getContentPane().add(panelTest);
frame.setVisible(true);
谢谢!