0
我有一组按钮。我的JPanel有一个GridLayout的布局。我希望任何组件都能够在广场之外走向中心。这里是一个图像:http://screencast.com/t/z86ldR9vhGridLayout中心溢出组件
我想选项按钮居中集团下。
在此先感谢!
我有一组按钮。我的JPanel有一个GridLayout的布局。我希望任何组件都能够在广场之外走向中心。这里是一个图像:http://screencast.com/t/z86ldR9vhGridLayout中心溢出组件
我想选项按钮居中集团下。
在此先感谢!
为“选项”按钮创建另一个JPanel并将其设置为流布局。 例如,假设顶部面板被称为“PANEL1”,底部是“是Panel2”:
// create top panel with first four buttons
JPanel panel1 = new JPanel(new GridLayout(2, 2));
panel1.add(new JButton("Play"));
panel1.add(new JButton("New Game"));
panel1.add(new JButton("Save Game"));
panel1.add(new JButton("Load Game"));
// create bottom panel with "Options" button
JPanel panel2 = new JPanel(new FlowLayout());
panel2.add(new JButton("Options"));
或者,如果你想为类的完整代码(所有进口):
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
public class Buttons {
public static void main(String[] args) {
Buttons gui = new Buttons();
}
public Buttons() {
// create frame
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(250, 150));
frame.setLayout(new FlowLayout());
frame.setVisible(true);
// create top panel with first four buttons
JPanel panel1 = new JPanel(new GridLayout(2, 2));
panel1.add(new JButton("Play"));
panel1.add(new JButton("New Game"));
panel1.add(new JButton("Save Game"));
panel1.add(new JButton("Load Game"));
// create bottom panel with "Options" button
JPanel panel2 = new JPanel(new FlowLayout());
panel2.add(new JButton("Options"));
// add panels to frame
frame.add(panel1);
frame.add(panel2);
}
}
setLayout(null)=完全自由度:-) – Solace
只是在开玩笑。你有没有考虑使用borderlayout或boxlayout? Gridbaglayout允许元素跨越多个单元格。 – Solace
'GridBagLayout' =完全自由 – MadProgrammer