在java中向框架添加网格布局面板和边框布局面板
我想知道如何将我的面板定位在同一个jframe中,其中网格布局面板位于中间,边框布局位于底部。像这样:但这很棘手,因为我不知道如何在jframe中定位面板。这是我的密码:在java中向框架添加网格布局面板和边框布局面板,java,jframe,jpanel,Java,Jframe,Jpanel,我想知道如何将我的面板定位在同一个jframe中,其中网格布局面板位于中间,边框布局位于底部。像这样:但这很棘手,因为我不知道如何在jframe中定位面板。这是我的密码: public GameWindow() { super("Game Window"); this.setSize(1500, 800); this.setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); thi
public GameWindow()
{
super("Game Window");
this.setSize(1500, 800);
this.setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
label1 = new JLabel("");
label2 = new JLabel("");
label3 = new JLabel("");
label4 = new JLabel("");
label5 = new JLabel("");
int i = 15;
int j = 20;
JPanel[][] panel1 = new JPanel[i][j];
setLayout(new GridLayout(i,j));
for(int m = 0; m < i; m++) {
for(int n = 0; n < j; n++) {
panel1[m][n] = new JPanel();
this.add(panel1[m][n]);
}
}
JPanel panel2 = new JPanel();
panel2.setLayout(new BorderLayout());
panel2.setPreferredSize(new Dimension(this.getWidth(), 100));
panel2.setBorder(new BevelBorder(BevelBorder.LOWERED));
this.add(panel2, BorderLayout.SOUTH);
JLabel statusLabel = new JLabel("status");
statusLabel.setHorizontalAlignment(SwingConstants.LEFT);
panel2.add(statusLabel);
this.setVisible(true);
down = new JButton("down");
right = new JButton("right");
left= new JButton("left");
up = new JButton("up");
fight = new JButton("fight");
flee = new JButton("flee");
panel1[5][3].add(up);
panel1[8][4].add(left);
panel1[7][2].add(right);
panel1[3][5].add(down);
panel2.add(label1);
panel2.add(label2);
panel2.add(label3);
panel2.add(label4);
panel2.add(label5);
panel2.add(fight);
panel2.add(flee);
公共游戏窗口()
{
超级(“游戏窗口”);
此.setSize(1500800);
此.setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
此.setLayout(新的BorderLayout());
标签1=新的JLabel(“”);
label2=新的JLabel(“”);
label3=新的JLabel(“”);
label4=新的JLabel(“”);
label5=新的JLabel(“”);
int i=15;
int j=20;
JPanel[]panel1=新的JPanel[i][j];
setLayout(新网格布局(i,j));
对于(int m=0;m
当我运行它时,它显示如下:
我希望状态栏横跨整个底部,但它不起作用。
非常感谢您的帮助!很抱歉我的问题,但是为什么您有这么多面板?我想我应该足够放在您布局的上部了。我只有两个面板,一个放在顶部,一个放在底部。我希望网格布局在顶部,状态栏在底部。我看到您正在用这行
JP创建一个JPanel
矩阵anel[]panel1=新的JPanel[i][j]
,我不明白为什么您只需要在顶部安装一个jPanel:)对不起,我的问题是,为什么您要安装所有这些面板?我想我应该足够安装布局的上部。我只有两个面板,一个用于顶部,一个用于底部。我希望顶部有网格布局,底部有状态栏。我看到您正在创建一个maJPanel
的trix,这一行是JPanel[][]panel1=newjpanel[i][j];
,我不明白为什么您只需要一个JPanel在上面:)