2011-12-21 5 views
0

イメージを含む3つのJLabelの下部を揃えようとしています。 3つのJLabelは1つの大きなJPanelで保持されます。 I found a tutorial about GUI using Java Swing here.しかし、何らかの理由で(ボタンに与えられている)サンプルコードを適用すると、JLabelsまたはJPanelでは機能しません。 これは、OracleのWebサイトからサンプルコードです:JPanelに保持されている3つのJLabelの下部を揃える方法

button1.setAlignmentY(Component.BOTTOM_ALIGNMENT); 
button2.setAlignmentY(Component.BOTTOM_ALIGNMENT); 

何が悪かったのか任意のアイデア?私は自分のコードを送ることができましたが、単純な答えかもしれないものについてはあまりにも混乱させるだろうと思っていました。

ありがとうございます。

EDIT:

public class LayoutOef_01 extends JFrame{ 

    JPanel paneel; 
    JLabel label1, label2, label3; 
    ImageIcon pic1, pic2, pic3; 
    Border panelBord, labelBord; 


    public Layout_01(String titel){ 
     super(titel); 

     paneel = new JPanel(); 

     pic1 = new ImageIcon("images/simon1.png"); 
     pic2 = new ImageIcon("images/simon2.png"); 
     pic3 = new ImageIcon("images/simon3.png"); 

     label1 = new JLabel(pic1); 
     label2 = new JLabel(pic2); 
     label3 = new JLabel(pic3); 

     paneel.add(label1); 
     paneel.add(label2); 
     paneel.add(label3); 

     panelBoord = BorderFactory.createLineBorder(Color.WHITE, 30); 
     paneel.setBorder(panelBord); 
     paneel.setBackground(Color.WHITE); 

     labelBoord = BorderFactory.createLineBorder(Color.BLACK, 2); 
     label1.setBorder(labelBord); 
     label2.setBorder(labelBord); 
     label3.setBorder(labelBord); 

     this.getContentPane().add(paneel); 
     this.pack(); 
    } 

    public static void main(String[] args) { 
     Layout_01 lay1 = new LayoutOef_01("Layout_01"); 
     lay1.setVisible(true); 
    } 

} 

ので、私は上記のコード内の異なるplaces- -in次のコードを配置してみましたが、何も変わりません:

label1.setAlignmentY(Component.BOTTOM_ALIGNMENT); 
label2.setAlignmentY(Component.BOTTOM_ALIGNMENT); 
label3.setAlignmentY(Component.BOTTOM_ALIGNMENT); 
+0

コードを追加してください。これは 'Glue'の問題かもしれません。' BoxLayout'は水平にではなく垂直に全てをスタックするように設定されているかもしれません。 – Sheriff

+0

どのようにコードが混乱する可能性がありますか?これをテストするには約20行のコードが必要です。それがボタンのために働くなら、それはラベルのために働くはずです。問題を示す[SSCCE](http://www.sscce.org)を投稿してください。 – camickr

答えて

2

は、このサンプルをチェックしてください:http://www.java2s.com/Code/JavaAPI/java.awt/ComponentBOTTOMALIGNMENT.htm

覚えていること: - パネル上のレイアウトを設定します。 - ボタンの位置合わせを設定します。 - ボタンをパネルに追加します。

+0

+1、キーはBoxLayoutです。 – camickr

+0

このリンクは役立ちました。どうもありがとう。それは今働く。 – Ype

+0

Stackflow-Repが足りないので、質問をしてすぐに自分の質問に答えることができませんが、BoxLayoutとその例が実際にこのトリックを行いました。 – Ype