1
我有此類它創建了一個網格:在擺動組佈局手動添加自定義部件
class GridPane extends JPanel{
public GridPane(int row,int col){
setLayout(new GridLayout(row,col));
setBorder(BorderFactory.createEmptyBorder(1,1,1,1));
for (int i =1; i<=(row*col); i++)
{
JPanel pan = new JPanel();
pan.setBackground(Color.RED);
pan.setPreferredSize(new Dimension(3,3));
pan.setBorder(BorderFactory.createLineBorder(Color.BLACK));
add(pan);
}
}
這其中建立與組佈局空主框架:
public MainFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
GroupLayout gl_contentPane = new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGap(0, 440, Short.MAX_VALUE)
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGap(0, 268, Short.MAX_VALUE)
);
contentPane.setLayout(gl_contentPane);
}
我我對SWING並不是非常有經驗,並且我一直試圖在主框架的右側添加一個GridPane對象一段時間。它不斷告訴我是這樣的:
java.lang.IllegalStateException:GridPane [,0,0,0x0,無效的,佈局= java.awt.GridLayout中,alignmentX = 0.0,alignmentY = 0.0,邊界=使用javax。 swing.border.EmptyBorder @ 6ba7508a,flags = 9,maximumSize =,minimumSize =,preferredSize =]未連接到垂直/水平組
有誰知道發生了什麼?我該怎麼做才能完成我所需要的?很抱歉發佈大量代碼。謝謝您的幫助。
非常感謝您的工作。這正是我期待的! – Cemre 2011-12-25 16:12:07
這是我的榮幸。 – Katana 2011-12-25 16:13:11