Java:创建UI类的新实例

时间:2010-12-13 20:19:54

标签: java

我有两个类:A类和B类.A类有一个main方法。 B类是用户界面(JFrame)。我希望在A中有一个B的实例,但是当我编写以下任何一个时,程序会运行,但没有窗口显示:

public class A{
    static B d= new B();
        public static void main(String args[]){
                           d.setVisible(true);} }



public class A{
        public static void main(String args[]){
         java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new B().setVisible(true);
            }
        });
        }}


public class A{
            public static void main(String args[]){
             B d= new B()
             d.setVisible(true); 
            }}

如何显示窗口?

2 个答案:

答案 0 :(得分:1)

不幸的是,你没有向我们展示B类的代码。也许下面的例子可以给你一个提示:

public class B extends JFrame {
    public B() {
        super("Hello, JFrame!");
    }
}

public class A {
    public static void main(String[] args) {
        B b = new B();
        b.setSize(300, 400);
        b.setVisible(true);
    }
}

这是一个非常小的示例,但正如您所看到的B继承自JFrame。在A的主要方法中,首先创建B的新实例,然后设置其大小并使其可见。

答案 1 :(得分:0)

事实证明问题出在A类。我有一条指令在新B()之前等待来自流的输入,但它没有得到输入。