2009-05-08 14 views
-2

誰かがNetBeansを使用するのを手伝ってくれるのかどうか疑問に思っていました....
私はちょっとアドバイスが必要です。
ここに問題があります:
新しいJava Desktop Appを作成すると、作成されたスケルトンクラスから別のフレームフォームクラスを「呼び出す」ことができます。しかし、私は別のクラスを作成し、それがSwingのGUIエディタを使用して、デザインの編集時に、私は、他の1からクラスをインスタンス化することはできません...例えば
私はこれを行う場合:Java JFrameの質問

new JFrame(); 

を私が天気を知りません。クラスはインスタンス化されているかどうかは、アプリケーションからビジュアルフィードバックを得ることができないためです(JFrameは表示されません...)。

は多分これは... 非常に単純な答えと愚かな質問ですが、私は本当に

は事前にありがとうございます。これを把握する必要があります。

編集:
明確にする:JFrame自身クラスです。

+0

なぜダウンボントですか? –

+1

JFrameはリチャード自身のクラスであり、スイングクラスではないことは明らかです。 – ArielBH

答えて

1

new JFrame()。setVisible(true)?

+0

私はあなたが何かを誤解していると思っています....主に私のために。 あなたが見る... JFrameは私のクラスです...私はちょうどそれに非常に一般的な名前を与えた...そしてあなたは私がJFrameのJava定義済みクラス... この場合、JFrameは自分自身のクラスであり、別のクラスからそのインスタンスを新規作成したいと考えています。それは画面上に何も表示されません。 –

+4

Doあなたはコードを表示しない場合でも、ここの人々は自家製のクラスをデバッグできますか?さあ... –

1

JFrameを見る前に何かに追加する必要があります。あなたが見る

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

笑っちゃったかわいいね....私はそれだと思う....私はちょうど私が日食のIDEからネットビーンズに切り替えたときに混乱したlitteだった.... ありがとう! P.S:このサイトは本当にgr8です。人々は非常に有益なようです... –

+0

これは実際には間違っています。 JPanelにJFrameを追加してはいけません。これは逆です。 JFrameを表示するには、setVisible(true)を呼び出します。 – willcodejavaforfood

+0

willcodeforfood:JFrameはRichard自身のクラスなので、他のパネルにJFrameを追加する必要があります。 – guerda

3

... JFrameのが私のクラスである....私はちょうどあなたのクラスを与えるために、良いアイデアではありません...笑それを

を非常に一般的な名前を与えましたJava APIクラスと同じ名前 - 非常に混乱します。

Matisse(NetBeanのフォームデザイナ)を使用する方法として、JFramesではなくJPanelを作成することが推奨されます。これにより、テスト容易性が向上します。次に、実際にJFrameを作成するための小さなメインメソッドを作成します。

ここは例です。すべてのコンポーネントが含まれているMyPanelというMatisseパネルを作成したとします。あなたは、アプリケーションを起動するには、次の主を使用することができます。

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

皆さん、間違っていると思っています:) 新しいJFrameフォームを作成し、Testという名前を付けました。しかし私のポストの例では、私はそれをJFrameという名前にしました。混乱のために申し訳ありません。 ところで、私はそれをまだ解決することができませんでした.... :( –

1

代わりにちょうど新しいJFrameの()を使用します。あなたはそれをJFrameとして定義することができます。

次に、f.setVisible(true)を使用できます。 新しいJFrame()は空のJFrameしか作成できません フィードバックを返してください