初始化JFrame

时间:2011-03-26 13:52:24

标签: java swing initialization jframe

这可能是一个简单的问题,但是,嘿,我是初学者。

所以我创建了一个计算某些东西的程序,此时它正在控制台中运行。我决定为它添加一个用户界面,所以我使用NetBeans IDE中的内置功能创建了一个JForm(可能只是暂时的,直到我学会手动处理Swing,我有一个截止日期,所以我想快速完成它),并绘制一些控件和容器。表单已经准备就绪,我该如何初始化它?据我所知,我需要以某种方式从Main.java调用该类,对吗?我试过这样做:GUI gui = new GUI(); (该类称为GUI),但这没有做任何事情。如果我把它留空,它会做同样的事情。或者它是否想要初始化自己?

感谢。

5 个答案:

答案 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