1

私はこのレイアウトを達成しようとしています: http://www.domizai.ch/tmp/targetLayout.jpg

しかし、私が今得ているのはこれです: http://www.domizai.ch/tmp/layoutNow.jpg

私は単に panel2 を中央に y 揃えし、panel1 の高さまで伸ばさないようにしたいだけです。

私のコードは今次のようになります:

JPanel panel1 = new JPanel();
panel1.add(new JLabel(icon,JLabel.CENTER));
panel1.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 20));

JPanel panel2 = new JPanel();
panel2.setLayout(new BorderLayout());
panel2.add(new JLabel("Copy files to Desktop..."),BorderLayout.NORTH);
panel2.add(bar,BorderLayout.CENTER);
panel2.add(label = new JLabel("1 minute remaining");,BorderLayout.SOUTH);

JPanel panel3 = new JPanel();
panel3.setLayout(new BorderLayout());
panel3.add(panel1,BorderLayout.WEST);
panel3.add(panel2,BorderLayout.EAST);

JPanel panel4 = new JPanel();
panel4.setLayout(new BorderLayout());
panel4.add(new JLabel(),BorderLayout.LINE_START);
panel4.add(button,BorderLayout.LINE_END);
panel4.setBorder(BorderFactory.createEmptyBorder(10,0, 0, 0));

JPanel panel5 = new JPanel();
panel5.setLayout(new BorderLayout());
panel5.add(panel3, BorderLayout.PAGE_START);
panel5.add(panel4, BorderLayout.PAGE_END);
panel5.setBorder(BorderFactory.createEmptyBorder(20,20, 10, 20)); // top, left bottom, right

frame.setContentPane(panel5);

最善の方法は何ですか?どうも!

4

2 に答える 2

0

これを試すことができます:

  • コンテンツ ペインは hasBorderLayoutです。を含む:
    • WESTにアイコンの付いたラベル
    • CENTER (または EAST) のパネル。パネルには、GridLayout1 列 5 行の があります。パネルには以下が含まれます。
      • 空のパネル
      • 「ファイルをデスクトップにコピー」のラベル
      • プログレスバー
      • 「残り1分」のラベル
      • 空のパネル
于 2013-07-01T13:44:50.690 に答える