我有两个类: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);
}}
如何显示窗口?
答案 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()之前等待来自流的输入,但它没有得到输入。