2010-12-13 15 views
0

クラスAとクラスBの2つのクラスがあります。クラスAにはmainメソッドがあります。クラスBはユーザーインターフェイス(JFrame)です。私はAにBのインスタンスを持つようにしたいが、私はプログラムの実行、次のいずれかを記述するときには何のウィンドウが表示されなかっ:Java:UIクラスの新しいインスタンスを作成

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); 
      }} 

は、どのように私は、ウィンドウを表示することができますか?

+1

「JForm」とは何ですか?通常、 'JFrame'に' setVisible'とおそらく 'pack'を呼びたいと思うでしょう。 –

+0

私はJFrameを意味して申し訳ありません。私はそれを編集します。私はd.pack()を使ってみましたが、ウィンドウはまだ表示されています。 – schmitz

+0

JFrameのサイズを設定しましたか? – Thomas

答えて

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); 
    } 
} 

それは非常に最小限の例ですが、あなたはJFrameのからB継承を見ることができるように。 Aの主な方法では、最初にBの新しいインスタンスを作成し、そのサイズを設定して可視にします。

0

問題はクラスAにあることが判明しました。新しいB()の前にストリームからの入力を待っていたが、入力が得られていないという指示がありました。

+0

この質問を閉じるのを忘れないでください。 – Thomas

+0

質問を閉じるにはどうすればいいですか? – schmitz

関連する問題