我正在尝试将JButton添加到我作为类创建的JPanel中,如下所示:
public class Popup extends Main {
public Popup() {
JPanel popup = new JPanel();
JButton button = new JButton("SUPER COOL BUTTON");
popup.add(button);
popup.setPreferredSize(new Dimension(50,50));
}
}
Main.java:
private void createFrame() {
JFrame frame = new JFrame("TEAM PROJECT");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(new Popup(), BorderLayout.CENTER);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
当我这样做时,框架会创建但没有任何内容。尝试使用paintComponent
在面板上绘图时,类似的代码也有效,那么您是否可以通过这种方式添加SwingComponents
?
如何才能将JPanel
中创建的Popup
添加到Main
中创建的框架中?
答案 0 :(得分:2)
为什么要扩展Main(因为它似乎是您创建JFrame的类)?
如果你想向面板添加一个按钮,那么扩展JPanel并将你的按钮添加到你的类(这是一个JPanel,所以不需要创建另一个JPanel):
public class Popup extends JPanel {
public Popup() {
//JPanel popup = new JPanel();
JButton button = new JButton("SUPER COOL BUTTON");
add( button );
//popup.add(button);
//popup.setPreferredSize(new Dimension(50,50));
}
}