小菜一枚,刚接触Java,想写个注册界面,但却遇到一个奇怪问题:代码如下:
public void frame()
{
this.frame = new JFrame("用户注册");
//窗体基本属性
this.frame.setSize(600, 400);
this.frame.setLocationRelativeTo(null);
this.frame.setVisible(true);
this.frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//设置主面板,相当于外层p
JPanel jp = new JPanel(new BorderLayout());
//东西南北中,面板
JPanel jp1 = new JPanel(new FlowLayout());
JPanel jp2 = new JPanel(new FlowLayout());
JPanel jp3 = new JPanel(new GridLayout(10,2));
JPanel jp4 = new JPanel(new FlowLayout());
JPanel jp5 = new JPanel(new FlowLayout());
//加入主面板
jp.add(BorderLayout.NORTH,jp1);
jp.add(BorderLayout.SOUTH,jp2);
jp.add(BorderLayout.CENTER,jp3);
jp.add(BorderLayout.EAST,jp4);
jp.add(BorderLayout.WEST,jp5);
//标题
JLabel jl1 = new JLabel("用户注册",SwingConstants.CENTER);
jp1.add(jl1);
//中间面板
JButton jb2= new JButton("Btn");
JTextField jt = new JTextField("usrname");
JButton jb1 = new JButton("abc");
jp3.add(jt);
jp3.add(jb1);
jp3.add(jb2);
this.container = this.frame.getContentPane();
this.container.setBackground(Color.white);
this.container.add(jp);
}
主要思路:
一个主Jpanel,边界布局
5个子Panel,东西南北中
最后将主Panel加入Container中,但最后执行结果,Frame显示却是空白,如图:
新手,老鸟请教,谢谢!
JFrame에 표시하기 위해 아무것도 추가하지 않았으므로, 프레임() 메서드 끝에 다음 코드를 삽입해야 합니다.
으아악ecilipse
을 사용하는 경우 플러그인을 사용하여 시각적 레이아웃 설정을 얻을 수 있습니다(특정 플러그인 이름은 잊어버렸습니다)