面板上的按钮应该位于最后一排椭圆下方,但它的作用是添加一列:
这是我的代码
Panel p1 = new Panel();
JButton shiftLeft = new JButton("Shift Left");
JButton shiftRight = new JButton("Shift Right");
p1.setLayout(new GridLayout(Rows, Columns));
for (int i=0; i<Rows; i++) {
for (int j = 0; j < Columns; j++) {
arcs[i][j] = new ArcsPanel(i, j);
p1.add(arcs[i][j]);
arcs[i][j].addMouseListener(me);
}
}
p1.add(shiftRight);
add(p1, BorderLayout.CENTER);
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setVisible(true);
答案 0 :(得分:1)
面板上的按钮应该位于最后一排椭圆下方
GridLayout总是在行/列中添加组件。
如果您希望按钮与GridLayout分开,则需要将按钮直接添加到框架中:
//p1.add(shiftRight);
add(p1, BorderLayout.CENTER);
add(shiftRight, BorderLayout.PAGE_END);
或者,如果您不希望调整按钮大小,则需要先将其包装在另一个面板中:
JPanel buttonPanel = new JPanel();
buttonPanel.add( shiftRight );
add(buttonPanel, BorderLayout.PAGE_END);
关键是要实现所需的布局,您可以使用多个面板,每个面板具有不同的布局。您无需使用单个面板或布局管理器。