我有这个其他类,我在其中制作了面板。如何在Main类中添加此面板(当我像这样运行时,我得到空白窗口)。
public class Other extends JFrame {
JTextField input = new JTextField(4);
public JPanel panel () {
//JPanel for all
JPanel totalGUI = new JPanel();
totalGUI.setLayout(null);
//Input panel
JPanel inputPanel = new JPanel();
inputPanel.setLayout(null);
inputPanel.setLocation(50,50);
inputPanel.setSize(250, 30);
totalGUI.add(inputPanel);
input.setSize(100,30);
input.setLocation(150,30);
inputPanel.add(input);
totalGUI.setOpaque(true);
return totalGUI;
}
public Other () {
super("Guess The Number");
}
}
这是我的主要课程:
public class Main {
public static void main (String[] args) {
Other obj = new Other();
obj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
obj.setSize(300,300);
obj.setVisible(true);
}
}
答案 0 :(得分:3)
只需在JPanel
的构造函数中添加JFrame
:
public Other(){
super("Guess The Number");
add(panel());
}
答案 1 :(得分:2)
您根本不应该从Main
类访问该面板,不需要它。要将面板添加到整个框架,请将其写入Other
构造函数:
setContentPane(panel());
如果您想保留面板并只添加面板,请改为编写:
getContentPane().add(panel());
您也可以使用此行,但它仍然存在于AWT中,不应在Swing应用程序中使用:
add(panel());
答案 2 :(得分:-1)
你应该调用JFrame对象的add函数并将JPanel添加到它。 在main函数中,在初始化Other对象后执行此操作:
obj.add(obj.panel());