0

panel4scrollPaneに追加しましたが、アプリケーションは変更されませんでした。これは私のコードです:

   public class Bill extends JPanel {
      //some Jlabels, JComboBox......
      public Bill(){

      JPanel panel1 = new JPanel();
      panel1.setLayout(new GridLayout(7,1,10,20));
      //add some labels to panel

      JPanel panel2 = new JPanel();
      panel2.setLayout(new GridLayout(7,4,10,10 ));

        //add some components to panel

      JPanel panel3=new JPanel(new GridLayout(4,1,10,10));
      panel3.add(CRTA);
      panel3.add(UKUPNO);
      panel3.add(jbtView);
      panel3.add(jbtCancel);

最後に panel4

     JPanel panel4=new JPanel();
     panel4.add(panel1, BorderLayout.WEST);
     panel4.add(panel2, BorderLayout.CENTER);

     JScrollPane scrollPane = new JScrollPane();
     scrollPane.getViewport().add( panel4 );  
     add(scrollPane,BorderLayout.CENTER);
     add(panel3, BorderLayout.SOUTH);

これは私が得たものです

ここに画像の説明を入力

長方形の内側は panel4(数字とコンボボックスのあるパネル)

そしてこれは私がサイズを変えるときです ここに画像の説明を入力

スクロールショーはありません

4

2 に答える 2

2

基本的に、すべてを panel4 (panel3 を含む) に追加してから、 panel4 を に追加する必要がありJScrollPaneます。その後、 の に追加しJScrollPaneます。CENTERJTabbedPane

setXXXSizeまた、 でメソッドを呼び出さないでくださいJButton

編集

私はあなたのアイデアで少し遊んだ:

ここに画像の説明を入力

これがUIの外観について役立つことを願っています。繰り返しになりますが、メソッドを呼び出さないsetXXXSizeでください。コンポーネントのサイズを決定するために、他のものを使用してください。たとえば、JTextField「合計」に対するフォントのサイズや、「ホットドリンク」パネルのJLabelアイコンのサイズなどです。JButton

于 2013-02-18T22:08:09.037 に答える
2
JPanel panel4=new JPanel();
panel4.add(panel1, BorderLayout.WEST);
panel4.add(panel2, BorderLayout.CENTER);

デフォルトでは、JPanel はコンポーネントの優先サイズを常に尊重する FlowLayout を使用します。指定しようとする制約は単に無視されます。

あなたが試すことができます:

JPanel panel4=new JPanel( new BorderLayout() );
于 2013-02-18T20:33:41.120 に答える