我正在尝试编写一个Java程序,该程序声明一个JFrame类并在main.c中创建该类的一个对象。在我的一生中,当我在 main 中创建“MyButtons”对象时,我无法让 JFrame 标题、JPanel 和 JButtons 出现。我得到的只是一个空白的 JPanel。
import java.awt.*;
import javax.swing.*;
import java.util.*;
class MyButtons extends JFrame
{
public MyButtons()
{
JFrame frame = new JFrame("MyButtons");
JPanel panel = new JPanel();
frame.add(panel);
JButton b1 = new JButton("Button 1");
JButton b2 = new JButton("Button 2");
panel.add(b1);
panel.add(b2);
}
}
class TestMyButtons
{
public static void main(String [] args)
{
MyButtons go = new MyButtons();
go.setSize(200,75);
go.setLocation(200,300);
go.setVisible(true);
go.setResizable(true);
go.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
最佳答案
当您扩展 JFrame 时,您不需要在构造函数中创建另一个 JFrame 实例。只需将 panel
添加到已继承 JFrame
的 MyButtons
即可。
public MyButtons(){
//JFrame frame = new JFrame("MyButtons"); Commentted this
JPanel panel = new JPanel();
//frame.add(panel); And this
JButton b1 = new JButton("Button 1");
JButton b2 = new JButton("Button 2");
panel.add(b1);
panel.add(b2);
add(panel); // Add panel to MyButtons frame
}
关于java - JFrame 类在 Main 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29839048/