Swing 混合布局
案例一:Border边境边界

package swing; /**
* swing 混合布局
*/
import java.awt.*;
import javax.swing.*; public class Myframe extends JFrame {
// 准备工作
JPanel jp1, jp2;// 面板
JButton jb1, jb2, jb3, jb4, jb5, jb6; public static void main(String[] args) {
Myframe myframe = new Myframe();
} // 构造函数
public Myframe() {
jp1 = new JPanel();// 默认流式布局
jp2 = new JPanel();
jb1 = new JButton("西瓜");
jb2 = new JButton("苹果");
jb3 = new JButton("桃子");
jb4 = new JButton("哈密瓜");
jb5 = new JButton("蟠桃");
jb6 = new JButton("玉米");
// 设置布局 默认流式布局
// 添加JPanel
jp1.add(jb1);
jp1.add(jb2);
jp2.add(jb3);
jp2.add(jb4);
jp2.add(jb5);
// 把JPanel放入JFrame中‘
this.add(jp1, BorderLayout.NORTH);
this.add(jb6, BorderLayout.CENTER);
this.add(jp2, BorderLayout.SOUTH);
this.setSize(300, 250);
this.setLocation(200, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true); }
}
案例二 登录界面
Label标签
文本框:JTextField
密码框:JPasswordField
标签:JLabel

package swing; /**
* swing 混合布局
*/
import java.awt.*;
import javax.swing.*; public class Myframe extends JFrame {
// 定义组件
JPanel jp1, jp2, jp3;// 面板
JLabel jl1, jl2, jl3;
JTextField jtf1, jtf2;
JPasswordField jp;
JButton jb1, jb2, jb3, jb4, jb5, jb6; public static void main(String[] args) {
Myframe myframe = new Myframe();
} // 构造函数
public Myframe() {
jp1 = new JPanel();// 默认流式布局
jp2 = new JPanel();
jp3 = new JPanel();
jl1 = new JLabel("用户名");
jl2 = new JLabel("密 码"); jb1 = new JButton("登录");
jb2 = new JButton("注册"); jtf1 = new JTextField(10);
jp = new JPasswordField(10);
// 设置布局管理
this.setLayout(new GridLayout(3, 1));
// 加入组件
jp1.add(jl1);
jp1.add(jtf1);
jp2.add(jl2);
jp2.add(jp);
jp3.add(jb1);
jp3.add(jb2);
//
this.add(jp1);
this.add(jp2);
this.add(jp3);
this.setSize(300, 150);
this.setLocation(200, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true); }
}
案例三:用户注册界面

package swing; /**
* swing 混合布局
*/
import java.awt.*;
import javax.swing.*; public class Myframe extends JFrame {
// 定义组件
JPanel jp1, jp2, jp3;// 面板
JLabel jl1, jl2, jl3;
JTextField jtf1, jtf2;
JPasswordField jp;
JButton jb1, jb2, jb3, jb4, jb5, jb6;
JCheckBox jcb1, jcb2, jcb3;
JRadioButton jrb1, jrb2;
ButtonGroup bg; public static void main(String[] args) {
Myframe myframe = new Myframe();
} // 构造函数
public Myframe() {
jp1 = new JPanel();// 默认流式布局
jp2 = new JPanel();
jp3 = new JPanel();
jl1 = new JLabel("你喜欢的运动");
jl2 = new JLabel("你的性别"); jb1 = new JButton("注册用户");
jb2 = new JButton("取消注册"); jcb1 = new JCheckBox("足球");
jcb2 = new JCheckBox("篮球");
jcb3 = new JCheckBox("排球"); jrb1 = new JRadioButton("男");
jrb2 = new JRadioButton("女");
ButtonGroup bg = new ButtonGroup();
bg.add(jrb1);
bg.add(jrb2);
// 设置布局管理
this.setLayout(new GridLayout(3, 1));
// 加入组件
jp1.add(jl1);
jp1.add(jcb1);
jp1.add(jcb2);
jp1.add(jcb3); jp2.add(jl2); jp3.add(jrb1);
jp3.add(jrb2);
//
this.add(jp1);
this.add(jp2);
this.add(jp3);
this.setSize(300, 150);
this.setLocation(200, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true); }
}
案例四:

package swing; /**
* swing 混合布局
*/
import java.awt.*;
import javax.swing.*; public class Myframe extends JFrame {
// 定义组件
JPanel jp1, jp2, jp3;// 面板
JLabel jl1, jl2, jl3;
JTextField jtf1, jtf2;
JPasswordField jp;
JButton jb1, jb2, jb3, jb4, jb5, jb6;
// JCheckBox jcb1, jcb2, jcb3;
JRadioButton jrb1, jrb2;
ButtonGroup bg;
JComboBox jcb1;
JScrollPane jsp;
JList jlist; public static void main(String[] args) {
Myframe myframe = new Myframe();
} // 构造函数
public Myframe() {
jp1 = new JPanel();// 默认流式布局
jp2 = new JPanel(); jl1 = new JLabel("你的籍贯");
jl2 = new JLabel("旅游地点"); String[] jg = { "北京", "上海", "广州", "深圳" };
jcb1 = new JComboBox(jg); String[] dd = { "长城", "天安门", "九寨沟", "庐山", "香港" };
jlist = new JList(dd); jsp = new JScrollPane(jlist);
// 设置显示多少选项 jlist.setVisibleRowCount(2);
// 设置布局管理
this.setLayout(new GridLayout(3, 1));
// 加入组件
jp1.add(jl1);
jp1.add(jcb1); jp2.add(jl2);
jp2.add(jlist); //
this.add(jp1);
this.add(jp2); this.setSize(300, 300);
this.setLocation(200, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true); }
}

package swing; /**
* swing 混合布局
*/
import java.awt.*;
import javax.swing.*; public class Myframe extends JFrame {
// 定义组件
JPanel jp1, jp2, jp3;// 面板
JLabel jl1, jl2, jl3;
JTextField jtf1, jtf2;
JPasswordField jp;
JButton jb1, jb2, jb3, jb4, jb5, jb6;
// JCheckBox jcb1, jcb2, jcb3;
JRadioButton jrb1, jrb2;
ButtonGroup bg;
JComboBox jcb1;
JScrollPane jsp;
JList jlist; public static void main(String[] args) {
Myframe myframe = new Myframe();
} // 构造函数
public Myframe() {
jp1 = new JPanel();// 默认流式布局
jp2 = new JPanel(); jl1 = new JLabel("你的籍贯");
jl2 = new JLabel("旅游地点"); String[] jg = { "北京", "上海", "广州", "深圳" };
jcb1 = new JComboBox(jg); String[] dd = { "长城", "天安门", "九寨沟", "庐山", "香港" };
jlist = new JList(dd); jsp = new JScrollPane(jlist);
// 设置显示多少选项 jlist.setVisibleRowCount(2);
// 设置布局管理
this.setLayout(new GridLayout(3, 1));
// 加入组件
jp1.add(jl1);
jp1.add(jcb1); jp2.add(jl2);
jp2.add(jsp); //
this.add(jp1);
this.add(jp2); this.setSize(300, 300);
this.setLocation(200, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true); }
}
Swing 混合布局的更多相关文章
- DIV+CSS 网页布局之:混合布局
1.混合布局 在了解了一列.两列和三列布局之后,混合布局也就不难理解了,混合布局也可以叫综合型布局,那么混合布局就可以在一列布局的基础之上,分为两列布局,三列布局,网页布局的结构普遍都是三列布局,但是 ...
- (转)Java 的swing.GroupLayout布局管理器的使用方法和实例
摘自http://www.cnblogs.com/lionden/archive/2012/12/11/grouplayout.html (转)Java 的swing.GroupLayout布局管理器 ...
- CSS 实现流布局以及多列混合布局
基本流布局 <!DOCTYPE html > <html> <head> <meta charset="utf-8"> <ti ...
- 慕课笔记利用css进行布局【混合布局】
<html> <head> <title>混合布局学习</title> <style type="text/css"> ...
- doT.js实现混合布局,判断,数组,函数使用,取模,数组嵌套
doT.js实现混合布局 数据结构 { "status": "1", "msg": "获取成功", "info ...
- RecyclerView实现混合布局
PS:好长时间不写博客了,起初是不知道写些什么,后来接触了到了很多东西,原本看似简单的东西,背后都隐藏着巨大的秘密,想handler的使用,一般情况下会引起内存泄漏问题,想着找到方法结局不就得了吗,可 ...
- Java Swing 空布局
Swing 空布局 试了盒布局,说实话不太会用,很多地方都没法更加的细节,又翻了翻资料,知道了还有一个空布局,一看,真不错,很适合我这种菜鸡 用坐标就可以完成界面的布局,不错 话不多说,直接代码 pa ...
- Java Swing 盒布局管理器
Swing 盒布局管理器 因为项目的原因,重新看看swing的东西,在想要将两个横向的容器纵向表示的时候,发现用盒布局 话不多说,直接代码 package ui; import javax.swing ...
- Java 的swing.GroupLayout布局管理器的使用方法和实例(转)
The following builds a panel consisting of two labels in one column, followed by two textfields in t ...
随机推荐
- iFace Chain [ 爱妃链 ] 或将凭借人脸密钥技术成为安全领域最大的赢家
前段时间iFace Chain [ 中文音译名称: 爱妃链 ] 安全专家揭密了区块链领域,数字资产存放于无信用钱包中的一些风险,并为区块链玩家解密如何安全保护资产私钥,我们再来回顾分析一下目前跑路钱包 ...
- 死磕 java集合之ConcurrentHashMap源码分析(三)
本章接着上两章,链接直达: 死磕 java集合之ConcurrentHashMap源码分析(一) 死磕 java集合之ConcurrentHashMap源码分析(二) 删除元素 删除元素跟添加元素一样 ...
- 【Android Studio安装部署系列】八、Android Studio主题皮肤更换
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio具有自己的主题皮肤,但是如果想要更换自己喜欢的主题皮肤,可以参考下面的步骤. 注意,更换主题皮肤,之前的 ...
- Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载
目录 1 通过rz/sz命令上传/下载 1.1 安装lrzsz软件 1.2 rz - 上传文件 1.3 sz - 下载文件 2 通过sftp上传/下载文件 2.1 关于SFTP的简介 2.2 SFTP ...
- 学习笔记01(mybatis逆向工程)
今天来看看一个常用的小功能,就是mybatis的逆向工程.(数据库是mysql) 什么是逆向工程呢?看名字就知道反方向的一个什么工程! 其实啊,如果是平常我们自己学习实践一些小项目的时候,应该是先瞎写 ...
- MySQL系列--3.数据类型和连接查询
1.存储引擎 数据创建,查询,更新和删除操作都是通过数据引擎来进行的.不同的存储引擎存储限制不同,支持不同的索引机制等. 查询数据库支持的存储引擎 MySQL 5.7.2支持的存储引擎有:InnoDB ...
- sleep、yield、join方法简介与用法 sleep与wait区别 多线程中篇(十五)
Object中的wait.notify.notifyAll,可以用于线程间的通信,核心原理为借助于监视器的入口集与等待集逻辑 通过这三个方法完成线程在指定锁(监视器)上的等待与唤醒,这三个方法是以锁( ...
- JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...
- Lumen框架—升级改造之路-开篇
一.前言 首先,我先阐述下,为什么要做这件事.lumen是一款比较轻型的PHP框架,但是,作为项目开发来说,它还是缺少很多东西,比如Response返回值规范的自定义,异常抛出格式的自定义,以及 ...
- Linux IO模型(同步异步阻塞非阻塞等)的几篇好文章
聊聊同步.异步.阻塞与非阻塞聊聊Linux 五种IO模型聊聊IO多路复用之select.poll.epoll详解