案例一: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 混合布局的更多相关文章

  1. DIV+CSS 网页布局之:混合布局

    1.混合布局 在了解了一列.两列和三列布局之后,混合布局也就不难理解了,混合布局也可以叫综合型布局,那么混合布局就可以在一列布局的基础之上,分为两列布局,三列布局,网页布局的结构普遍都是三列布局,但是 ...

  2. (转)Java 的swing.GroupLayout布局管理器的使用方法和实例

    摘自http://www.cnblogs.com/lionden/archive/2012/12/11/grouplayout.html (转)Java 的swing.GroupLayout布局管理器 ...

  3. CSS 实现流布局以及多列混合布局

    基本流布局 <!DOCTYPE html > <html> <head> <meta charset="utf-8"> <ti ...

  4. 慕课笔记利用css进行布局【混合布局】

    <html> <head> <title>混合布局学习</title> <style type="text/css"> ...

  5. doT.js实现混合布局,判断,数组,函数使用,取模,数组嵌套

    doT.js实现混合布局 数据结构 { "status": "1", "msg": "获取成功", "info ...

  6. RecyclerView实现混合布局

    PS:好长时间不写博客了,起初是不知道写些什么,后来接触了到了很多东西,原本看似简单的东西,背后都隐藏着巨大的秘密,想handler的使用,一般情况下会引起内存泄漏问题,想着找到方法结局不就得了吗,可 ...

  7. Java Swing 空布局

    Swing 空布局 试了盒布局,说实话不太会用,很多地方都没法更加的细节,又翻了翻资料,知道了还有一个空布局,一看,真不错,很适合我这种菜鸡 用坐标就可以完成界面的布局,不错 话不多说,直接代码 pa ...

  8. Java Swing 盒布局管理器

    Swing 盒布局管理器 因为项目的原因,重新看看swing的东西,在想要将两个横向的容器纵向表示的时候,发现用盒布局 话不多说,直接代码 package ui; import javax.swing ...

  9. Java 的swing.GroupLayout布局管理器的使用方法和实例(转)

    The following builds a panel consisting of two labels in one column, followed by two textfields in t ...

随机推荐

  1. iFace Chain [ 爱妃链 ] 或将凭借人脸密钥技术成为安全领域最大的赢家

    前段时间iFace Chain [ 中文音译名称: 爱妃链 ] 安全专家揭密了区块链领域,数字资产存放于无信用钱包中的一些风险,并为区块链玩家解密如何安全保护资产私钥,我们再来回顾分析一下目前跑路钱包 ...

  2. 死磕 java集合之ConcurrentHashMap源码分析(三)

    本章接着上两章,链接直达: 死磕 java集合之ConcurrentHashMap源码分析(一) 死磕 java集合之ConcurrentHashMap源码分析(二) 删除元素 删除元素跟添加元素一样 ...

  3. 【Android Studio安装部署系列】八、Android Studio主题皮肤更换

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio具有自己的主题皮肤,但是如果想要更换自己喜欢的主题皮肤,可以参考下面的步骤. 注意,更换主题皮肤,之前的 ...

  4. 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 ...

  5. 学习笔记01(mybatis逆向工程)

    今天来看看一个常用的小功能,就是mybatis的逆向工程.(数据库是mysql) 什么是逆向工程呢?看名字就知道反方向的一个什么工程! 其实啊,如果是平常我们自己学习实践一些小项目的时候,应该是先瞎写 ...

  6. MySQL系列--3.数据类型和连接查询

    1.存储引擎 数据创建,查询,更新和删除操作都是通过数据引擎来进行的.不同的存储引擎存储限制不同,支持不同的索引机制等. 查询数据库支持的存储引擎 MySQL 5.7.2支持的存储引擎有:InnoDB ...

  7. sleep、yield、join方法简介与用法 sleep与wait区别 多线程中篇(十五)

    Object中的wait.notify.notifyAll,可以用于线程间的通信,核心原理为借助于监视器的入口集与等待集逻辑 通过这三个方法完成线程在指定锁(监视器)上的等待与唤醒,这三个方法是以锁( ...

  8. JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识

    JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...

  9. Lumen框架—升级改造之路-开篇

    一.前言    首先,我先阐述下,为什么要做这件事.lumen是一款比较轻型的PHP框架,但是,作为项目开发来说,它还是缺少很多东西,比如Response返回值规范的自定义,异常抛出格式的自定义,以及 ...

  10. Linux IO模型(同步异步阻塞非阻塞等)的几篇好文章

    聊聊同步.异步.阻塞与非阻塞聊聊Linux 五种IO模型聊聊IO多路复用之select.poll.epoll详解 ​