前提・実現したいこと
JPanelにsetLayout(new GridLayout(3, 2));
をして、その一部分にだけJButtonを張り付けたいです。下のソースコードだと余った空白を埋めるためにJLabelを張り付けています。そうするとこの画像のようになってしまいます。JLabelを張り付けずに空間を取って表示する方法を教えてください。
該当のソースコード
java
1import javax.swing.*; 2import java.awt.GridLayout; 3import java.awt.BorderLayout; 4 5public class GridLayoutTest2 extends JFrame{ 6 7 public static void main(String[] args){ 8 GridLayoutTest2 frame = new GridLayoutTest2(); 9 10 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 11 frame.setBounds(10, 10, 300, 200); 12 frame.setTitle("タイトル"); 13 frame.setVisible(true); 14 } 15 16 GridLayoutTest2(){ 17 JButton button1 = new JButton("Button1"); 18 JButton button2 = new JButton("Button2"); 19 JButton button3 = new JButton("Button3"); 20 JLabel label1 = new JLabel("Label1"); 21 JLabel label2 = new JLabel("Label2"); 22 23 JPanel p = new JPanel(); 24 p.setLayout(new GridLayout(3, 2)); 25 26 p.add(button1); 27 p.add(label1); 28 p.add(label2); 29 p.add(button2); 30 p.add(button3); 31 32 getContentPane().add(p, BorderLayout.CENTER); 33 } 34}
補足情報(FW/ツールのバージョンなど)
java jdk-14.0.2
java version "14.0.2" 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/26 05:04