这可能是一个简单的问题,但是,嘿,我是初学者。
所以我创建了一个计算某些东西的程序,此时它正在控制台中运行。我决定为它添加一个用户界面,所以我使用NetBeans IDE中的内置功能创建了一个JForm(可能只是暂时的,直到我学会手动处理Swing,我有一个截止日期,所以我想快速完成它),并绘制一些控件和容器。表单已经准备就绪,我该如何初始化它?据我所知,我需要以某种方式从Main.java调用该类,对吗?我试过这样做:GUI gui = new GUI(); (该类称为GUI),但这没有做任何事情。如果我把它留空,它会做同样的事情。或者它是否想要初始化自己?
感谢。
答案 0 :(得分:6)
GUI gui = new GUI();
gui.setVisible(true);
答案 1 :(得分:2)
恕我直言推荐的方法是使用事件调度线程和简单的匿名类:
// effectively the same as SwingUtilities.invokeLater
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame = new GUI(); // GUI gui = new GUI() as well
// default value JFrame.HIDE_ON_CLOSE
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
来自Java API http://download.oracle.com/javase/6/docs/api/javax/swing/package-summary.html#threading:
“一般情况下,Swing不是线程安全的。 所有Swing组件和相关 课程,除非另有说明, 必须在活动中访问 调度线程。“
您可以将SwingUtilities.invokeLater或EventQueue.invokeLater与相同结果一起使用,即SwingUtilities.invokeLater方法只调用EventQueue.invokeLater方法。
Java tutorial的更多信息(特别是使用该JFrame.EXIT_ON_CLOSE的原因)。
答案 2 :(得分:0)
使用setTitle(“Your Title”)初始化类范围;
答案 3 :(得分:0)
以上回答“使用setTitle(”你的标题“)初始化类范围;”说如何设置jframe的窗口标题。
答案 4 :(得分:0)
这是创建JFrame的最简单示例:
JFrame myFrame = new JFrame("");
frame.setTitle("Welecome to JFames!");
frame.setSize(600, 400);
frame.setVisible(true);
frame.setTitle("text");
命令将更改框架标题。
setVisible(boolean)
命令将使其可见,因为它被
setSize(int, int)
命令将更改框架的大小。
有关更多JFrame示例,请查看例如:SET LOCALE LANGUAGE