2016-12-11 9 views
2

私はJButtonを持ち、JPanelの左下に配置したいと考えています。BorderLayoutの位置で動作しません。

panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); 
    panel.setPreferredSize(new Dimension(130, 300)); 
    panel.add(jlabel1); 
    panel.add(jlabel2); 
    panel.add(button, BorderLayout.SOUTH); 

後のコードでは、私は(それが重要な場合)Jlabelsを更新:これは私のコードですべてのこのを通じて

panel.remove(jlabel1); 
    panel.remove(jlabel2); 
//Some other code 
panel.add(jlabel1) 
panel.add(jlabel2) 

を、私はJButtonのは、のJPanelの底に滞在したいです。これをどうすれば解決できますか? BorderLayout.SOUTHで何も起こりません。ありがとう。

答えて

0

buttonを追加するパネルにはBorderLayoutがないため、BorderLayout.SOUTHは何もしていません。

一方、(オンザスポットと完全にテストされていない構成された)このコードは、あなたがする必要がある方向性についていくつかのアイデアを与える必要があり、より良い説明 https://docs.oracle.com/javase/tutorial/uiswing/layout/index.html

のためのレイアウトマネージャでJavaチュートリアルセクションをチェックしてくださいgo:

panel = new JPanel(new BorderLayout()); 
panel.setPreferredSize(new Dimension(130, 300)); 
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); 
buttonPanel.add(button); 
panel.add(buttonPanel, BorderLayout.SOUTH); 
JPanel labelPanel = newJPanel(new FlowLayout(FlowLayout.LEFT)); 
labelPanel.add(jLabel1); 
labelPanel.add(jLabel2); 
panel.add(labelPanel, BorderLayout.CENTER)); 
+0

完全に作業しました。ありがとう! –

関連する問題