Java JFrame问题

时间:2009-05-08 09:00:53

标签: java user-interface swing

我想知道是否有人可以帮助我使用NetBeans .... 我只需要一条建议 这是问题所在:
当我创建一个新的Java桌面应用程序时,我可以设法从创建的骨架类中“调用”另一个Frame Form类。但是当我创建另一个类并使用Swing gui编辑器编辑它的设计时,我无法将该类与任何其他类进行实例化...
例如,如果我这样做:

new JFrame();

我不知道这个类是否已经实现,因为我没有从应用程序中获得任何视觉反馈(JFrame没有出现......)。

也许这是一个愚蠢的问题,答案非常简单...... 但我真的需要弄清楚这一点..

提前谢谢。

修改
澄清一下:JFrame是我的自己的类。

4 个答案:

答案 0 :(得分:3)

  

你看... JFrame是我的班级....我只是给它一个非常普通的名字大声笑......

为您的类提供与Java API类相同的名称并不是一个好主意 - 这非常令人困惑。

使用Matisse(NetBean的表单设计器)的首选方法是创建JPanel而不是JFrame - 这提高了可测试性。然后,您将创建一个小的main方法来实际创建JFrame。

这是一个例子。假设您在Matisse中创建了一个名为MyPanel的面板,其中包含您的所有组件。您可以使用以下main来启动应用程序:

public class AppMain {
    public static void main(String[] args) {
        javax.swing.JFrame frame = new javax.swing.JFrame("Title");
        frame.add(new MyPanel());
        frame.pack();
        frame.setVisible(true);
    }
}

答案 1 :(得分:1)

new JFrame()。setVisible(true)?

答案 2 :(得分:1)

您必须先将JFrame添加到某个内容中,然后才能看到它。

JFrame jf = new JFrame();
panelYouWantToAddFrameTo.add(jf);

答案 3 :(得分:1)

而不仅仅是使用新的JFrame();您可以将其定义为JFrame f或者您想要命名它= new JFrame();

然后你可以使用f.setVisible(true); 新的JFrame()只能创建一个空的JFrame 请提供反馈