Java布局管理器问题

/***BorderLayout演示布局管理器*问题,输出只有北部的窗口,是为什么?*/packagecom.Test1;importjava.awt.*;importj... /**
* BorderLayout演示布局管理器
* 问题,输出只有北部的窗口,是为什么?
*/
package com.Test1;
import java.awt.*;
import javax.swing.*;

public class BorderLayout extends JFrame {

private static final Object west = null;
private static final Object WEST = null;
private static Object CENTER;
private static Object NORTH;
private static Object EAST;
private static Object SOUTH;
//定义组件
JButton jb1,jb2,jb3,jb4,jb5;

public static void main(String[] args) {
// TODO Auto-generated method stub
BorderLayout bl=new BorderLayout();
}

public BorderLayout()
{
//创建组件
jb1=new JButton("中部");
jb2=new JButton("北部");
jb3=new JButton("东部");
jb4=new JButton("南部");
jb5=new JButton("西部");

//添加组件
this.add(jb1,BorderLayout.CENTER);
this.add(jb2,BorderLayout.NORTH);
this.add(jb2,BorderLayout.EAST);
this.add(jb2,BorderLayout.SOUTH);
this.add(jb2,BorderLayout.WEST);

//设置窗口属性
this.setTitle("边界布局案例");
this.setSize(500, 400);
this.setLocation(600, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
展开
 我来答
雪飞潇潇
2018-01-29 · TA获得超过6273个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:844万
展开全部
  • 问题一:

    自定义的类BorderLayout和 java.awt.BorderLayout 这个类同名了 , 需要修改.

    比如修改成BorderLayoutDemo

  • 问题二:

    这些组件的复制粘贴 ,注意修改啊 ,jb1 ,jb2 ,jb2...jb2 , jb2添加了4次....

this.add(jb1,BorderLayout.CENTER);
this.add(jb2,BorderLayout.NORTH);
this.add(jb2,BorderLayout.EAST);
this.add(jb2,BorderLayout.SOUTH);
this.add(jb2,BorderLayout.WEST);

并且由于你的类名也叫BorderLayout ,所以BorderLayout.CENTER..等方位的值都是null.

缺省的状态下,都会放到中间. 最后的覆盖前面的.所以最后只显示出1个jb2.并且居中

修改后的效果图

修改的代码

import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

//注意类名
public class BorderLayoutDemo extends JFrame {


// 定义组件
JButton jb1, jb2, jb3, jb4, jb5;

public static void main(String[] args) {
// TODO Auto-generated method stub
BorderLayoutDemo bl = new BorderLayoutDemo();
}

public BorderLayoutDemo() {
// 创建组件
jb1 = new JButton("中部");
jb2 = new JButton("北部");
jb3 = new JButton("东部");
jb4 = new JButton("南部");
jb5 = new JButton("西部");

// 添加组件
this.add(jb1, BorderLayout.CENTER);
this.add(jb2, BorderLayout.NORTH);
this.add(jb3, BorderLayout.EAST);
this.add(jb4, BorderLayout.SOUTH);
this.add(jb5, BorderLayout.WEST);

// 设置窗口属性
this.setTitle("边界布局案例");
this.setSize(500, 400);
this.setLocation(600, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式