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 ...
随机推荐
- 使用dom4j 解析xml文件
//使用dom4j 解析xml文件,升级版,dom4j是对dom的封装 //重点 package com.offcn.utils; import java.io.File; import java.i ...
- 小乌龟git
一.概念 分布式版本控制系统.诞生于Linux社区,有兴趣可以去了解下git的前世今生. 与集中式版本控制有明显区别.集中式:集中管理的服务器,保存所有的修订版本,协同工作的人通过客户端连接服务器,取 ...
- 【Android Studio安装部署系列】二十五、Android studio使用NDK生成so文件和arr文件
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio使用ndk的简单步骤. NDK环境搭建 下载NDK 下载链接:https://developer.and ...
- 【Android Studio安装部署系列】三十七、从Android Studio3.2升级到Android Studio3.4【以及创建Android Q模拟器】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 保持Android Studio开发环境的最新版本. 下载Android Studio3.4 使用Android Studio自带的 ...
- Spring Boot 2.0 配置图文教程
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 本章内容 自定义属性快速入门 外化配置 自动配置 自定义创建 ...
- 基于Log4Net本地日志服务简单实现
背景 项目开发中,我们或多或少会使用诸如NLog,Log4Net,Kafka+ELK等等日志套件: 基于关注点分离原则,业务开发的时候不应该关注日志具体实现:并且后续能方便切换其他日志套件: 这里先实 ...
- 解决WebMagic抓HTTPS时出现SSLException
访问我的博客 前言 在今年二月份在项目中引入了 WebMagic 技术,用来抓取合作方的书籍,详见之前文章:WebMagic之爬虫监控,这两天新接入了一个合作商,对方接口采取的是 HTTPS 协议,而 ...
- cocos creator主程入门教程(十)—— A*寻路
摘要: 五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 这一篇介绍A*寻路算法.在RPG.SLG.模拟经营类游戏,有需要给角色寻路的需求,一般寻路我们采 ...
- 点击菜单选项,右侧主体区新增子界面(Tab)的实现
今天是2019年小年后一天,还有三天回家过年. 今天记录一下一种前端页面的效果的实现,这种效果很常见,一般用于网站后台系统的前端页面.一般后台系统会分为顶部导航栏,左边的菜单栏和右边的主体区.有一种效 ...
- 授权管理-LDAP-介绍与环境搭建
LDAP介绍 转自:https://blog.csdn.net/tanshizhen119/article/details/79942315 还是先来百度百科介绍. LDAP是轻量目录访问协议,英文全 ...