JAVAの知識が乏しい超初心者です。
JAVAの知識が乏しい超初心者です。
自分なりにコードを書いてみたのですが、うまくいきません。
お見せするのも恥ずかしいのですが
以下のように作ってみました。
import javax.swing.*;
import java.awt.*;
import javax.swing.border.TitledBorder;
class FileKanri2 extends JFrame{
public static void main(String args[]){
FileKanri2 frame = new FileKanri2("テスト");
frame.setVisible(true);
}
FileKanri2(String title){
setTitle(title);
setBounds(100, 100, 830, 820);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
JPanel p = pSakusei("題名",210);
bSakusei(p, "ボタン0", "補足0",0);
bSakusei(p, "ボタン1", "補足1",1);
bSakusei(p, "ボタン2", "補足2",2);
bSakusei(p, "ボタン3", "補足3",3);
bSakusei(p, "ボタン4", "補足4",4);
bSakusei(p, "ボタン5", "補足5",5);
bSakusei(p, "ボタン6", "補足6",6);
bSakusei(p, "ボタン7", "補足7",7);
}
public JPanel pSakusei(String pTitle, int tateSize){
JPanel p = new JPanel();
p.setBorder(BorderFactory.createTitledBorder(pTitle));
add(p, BorderLayout.NORTH);
p.setPreferredSize(new Dimension(810, tateSize));
p.setBackground(Color.white);
return p;
}
public void bSakusei(JPanel p, String bName, String lName, int i){
int btnSizeH = 50;
int btnSizeW = 180;
SpringLayout layout = new SpringLayout();
p.setLayout(layout);
JButton btn = new JButton(bName);
btn.setPreferredSize(new Dimension(btnSizeW, btnSizeH));
layout.putConstraint(SpringLayout.NORTH, btn,(i/4)*80+10, SpringLayout.NORTH, p);
layout.putConstraint(SpringLayout.WEST, btn,(i%4)*200+10, SpringLayout.WEST, p);
p.add(btn);
JLabel lbl = new JLabel(lName);
layout.putConstraint(SpringLayout.NORTH, lbl, 5, SpringLayout.SOUTH, btn);
layout.putConstraint(SpringLayout.WEST, lbl, 10, SpringLayout.WEST, btn);
p.add(lbl);
Container contentPane = getContentPane();
contentPane.add(p);
}
}
パネルの上にボタンを配置するだけなのですが、
添付の画像のように、ボタンが希望通りに並んでくれません;
(ボタンの数を変えると、最初と最後のボタンだけ表示され
なおかつ最後のボタンのみ希望の位置に行ってくれます。)
どこがおかしいのかご指摘お願いいたします。。
お礼
ありがとうございます。できました!!