実現したいこと
GridBagLayoutを理解して自由自在に作りたい。
発生している問題・分からないこと
このYahoo知恵袋の回答として出されているコードの23~26行目の意味が理解できません。
なので分かり易く解説していただけないでしょうか !
該当のソースコード
Java
1import javax.swing.JFrame; 2import javax.swing.JPanel; 3import javax.swing.SwingUtilities; 4import javax.swing.border.EmptyBorder; 5import java.awt.GridBagLayout; 6import java.awt.GridBagConstraints; 7import java.awt.Color; 8 9public class GridBagLayoutTest extends JFrame { 10 private JPanel contentPane; 11 12 public static void main(String[] args){ 13 SwingUtilities.invokeLater(() -> new GridBagLayoutTest().setVisible(true)); 14 } 15 16 public GridBagLayoutTest(){ 17 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 18 setBounds(100, 100, 450, 300); 19 contentPane = new JPanel(); 20 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 21 setContentPane(contentPane); 22 GridBagLayout gbl_contentPane = new GridBagLayout(); 23 gbl_contentPane.columnWidths = new int[]{0, 100, 0}; 24 gbl_contentPane.rowHeights = new int[]{50, 0, 0}; 25 gbl_contentPane.columnWeights = new double[]{1.0, 0.0, Double.MIN_VALUE}; 26 gbl_contentPane.rowWeights = new double[]{0.0, 1.0, Double.MIN_VALUE}; 27 contentPane.setLayout(gbl_contentPane); 28 29 JPanel panelPink = new JPanel(); 30 panelPink.setBackground(Color.PINK); 31 GridBagConstraints gbc_panelPink = new GridBagConstraints(); 32 gbc_panelPink.fill = GridBagConstraints.BOTH; 33 gbc_panelPink.gridx = 0; 34 gbc_panelPink.gridy = 0; 35 contentPane.add(panelPink, gbc_panelPink); 36 37 JPanel panelGreen = new JPanel(); 38 panelGreen.setBackground(Color.GREEN); 39 GridBagConstraints gbc_panelGreen = new GridBagConstraints(); 40 gbc_panelGreen.fill = GridBagConstraints.BOTH; 41 gbc_panelGreen.gridx = 1; 42 gbc_panelGreen.gridy = 0; 43 contentPane.add(panelGreen, gbc_panelGreen); 44 45 JPanel panelBlue = new JPanel(); 46 panelBlue.setBackground(Color.BLUE); 47 GridBagConstraints gbc_panelBlue = new GridBagConstraints(); 48 gbc_panelBlue.gridwidth = 2; 49 gbc_panelBlue.fill = GridBagConstraints.BOTH; 50 gbc_panelBlue.gridx = 0; 51 gbc_panelBlue.gridy = 1; 52 contentPane.add(panelBlue, gbc_panelBlue); 53 } 54} 55// express_thorium_9 q14131773874
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
色々と調べてみたのですがいまいち理解できなくて、重み付けなのは分かったのですがどういう理由でこの数値にしたのかが分かりませんでした
補足
特になし
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/01/11 01:38
2024/01/11 02:48 編集
2024/01/11 17:36
2024/01/12 11:28