2012-04-03 17 views
1

ここに私の問題があります:異なる関数を呼び出すいくつかのボタンをクリックしてjlabel.l内に結果(テキストは常に)を表示できる単純なインターフェイスを作成しようとしました。部分を区切ります(北/南または東/西)。最初の領域にはすべてのマイボタンのグリッドレイアウトまたはフローレイアウトが含まれ、2番目の領域にはテキスト結果が表示されます。ここでJava Swingインターフェイスの問題

は私の宣言です:

private static JButton b0 = new JButton("Creer Zone"); 
private static JButton b1 = new JButton("1"); 
private static JButton b2 = new JButton("2"); 
... 
private static JButton b11= new JButton("11"); 
private static JButton b12 = new JButton("12"); 
private static JButton b14 = new JButton("Help"); 
private static JFrame windows = new JFrame(); 
private static JPanel container = new JPanel(); 
private static JLabel res = new JLabel(); 

、ここでは私が(見て本当にawfullである)のJFrameに追加し方法です:

container.add(b0); 
container.add(b1); 
container.add(b2); 
... 
container.add(b12); 
container.add(b14); 
container.add(res); 

windows.setSize(450,500); 
windows.setContentPane(container); 
windows.setLocation(150 , 150); 
windows.setVisible(true); 

私は私のJPanelを宣言しようとしました(NSEW)とflowlayoutを変更すると、私はいつもjlabelが消滅してしまいました(これは私の機能の結果を示すので悪いです)

誰も私がこれを克服するための簡単な方法がありますか?おかげであなたは

+0

あなたはJFrameのへの(それは他のすべてが含まれているように見える)パネルを追加していません。問題になるかもしれない...また、私はこの問題を再現することができます。なぜなら、私はフレームのレイアウトを定義していないという事実です。私は通常、このようなことにFlowLayoutを使用します。説明が必要な場合は、単に質問してください。 :) – fireshadow52

+0

あなたが言及したようにこれらのタスクを実行するために 'JButton'を使用する必要がある特定の理由はありますか?それ以外のものはあなたの日を節約するためにも使用できますか? :-) –

答えて

1

を取る任意の時間のためにたくさんの素敵なあなたの将来の努力のためのもう1つの可能な解決策はWindowsBuilderに見ることですhttp://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html

+0

答えに感謝しています^ - ^しかし、私はすでにoracla java docに1時間も過ごしているので、ここで尋ねました。 GridBagLayoutは最初は完璧なソリューションだと思われましたが、私はそれを動作させるように管理したことがなかったので、2つのセクションを持つようにしました。とにかく、このGridBagをもう一度試してみるといいかもしれませんが、今度はもっと良いものがあるでしょう= D – WizLiz

+0

* "oracla java docで1時間も過ごしました" * [ Javaチュートリアルの「Container」(http://docs.oracle.com/javase/tutorial/uiswing/layout/index.html)レッスンを参照してください。簡単に複雑なレイアウトを実現するには、[ネストされたレイアウト](http://stackoverflow.com/a/5630271/418556)としてそれらを使用します。 –

1

に説明しました。基本的には、要素(Jframe、JtextFieldなど)をドラッグアンドドロップして、バックグラウンドでWindowsBuilderがコードを記述するだけで、レイアウト設計が簡単になります。あなたが本当に追加/変更する必要がある唯一のことは、ボタンの命名規則ともちろんイベントハンダラーですが、正直なところ、それらはデザイナーがコントロールしたいと思うものです。

https://developers.google.com/java-dev-tools/wbpro/