java swing 多层_java swing布局嵌套[通俗易懂]

java swing 多层_java swing布局嵌套[通俗易懂]小菜一枚,刚接触Java,想写个注册界面,但却遇到一个奇怪问题:代码如下:publicvoidframe(){this.frame=newJFrame(“用户注册”);//窗体基本属性this.frame.setSize(600,400);this.frame.setLocationRelativeTo(null);this.frame.setVisible(true);this.fr…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

小菜一枚,刚接触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);

//设置主面板,相当于外层div

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显示却是空白,如图:

8836cd11b85b0e2c382f9cb8d4597fae.png

新手,老鸟请教,谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230959.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jsp之session学习:session.setAttribute(String name,Object value)&session.getAttribute(String name);

    jsp之session学习:session.setAttribute(String name,Object value)&session.getAttribute(String name);CSDN博客怎么玩的,菜鸟入门;20161208;

    2022年10月17日
  • Android开发之startActivityForResult过时的替代方案

    Android开发之startActivityForResult过时的替代方案如上图所示:在api29中提示已过时,官方给出的替代方案是上面第二个红框的方法registerForActivityResult该怎么用呢?先看kotlin版本的写法:privatevalstartActivity=registerForActivityResult(ActivityResultContracts.StartActivityForResult()){//此处是跳转的result回调方法if..

    2022年7月11日
  • WinExec、ShellExecute和CreateProcess

    WinExec、ShellExecute和CreateProcess有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。CreateProcess因为使用复杂,比较少用。    WinExec主要运行EXE文件。  ⑴ 函数原型: UINT Win Exec(LPCSTR lpCmdLine, UINT uCmdShow);   ⑵ 参数:   lpCmdLine:指向一个空结束的字符串,串中包含将要执行的应用程…

    2022年7月11日
  • vs安装本地nuget包(vs2015离线使用)

    今天想在项目中使用RestSharp,不过在nuget控制台中发现要么新版本不支持.net4.0,要么用老版本的下载不下来,最后没办法,在RestSharp网站上下载了离线安装包,怎样安装呢?方法之一,概括而言就是把安装包放在NuGet下载缓存目录下,下面就来打开目录:1.Tool-NuGetPackageManager-PackageManagerSettings2…

    2022年4月12日
  • 如何保证docker2375端口的安全

    如何保证docker2375端口的安全情景再现:之前有很多朋友提过,当使用docker-maven-plugin打包SpringBoot应用的Docker镜像时,服务器需要开放2375端口。由于开放了端口没有做任何安全保护,会引起安全漏洞,被人入侵、挖矿、CPU飙升这些情况都有发生,今天我们来聊聊如何解决这个问题。问题产生的原因首先我们要明白问题产生的原因,才能更好地解决问题!Docker为了实现集群管理,提供了远程管理的端口。DockerDaemon作为守护进程运行在后台,可以执行发送到管理端口上的Docker命令。当我们修改do

    2022年6月13日
  • 30天自制操作系统之第13天 定时器(2)

    30天自制操作系统之第13天 定时器(2)

    2021年12月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号