黑马程序员_java GUI 三大布局使用
来源:互联网 发布:计算机三级 数据库 编辑:程序博客网 时间:2024/04/28 05:44
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
JAVA GUI编程
(一)Java GUI基本使用
概述:
我们电脑中所用到的程序大多数都是有界面的,像qq,迅雷,360等,其实java也可以做出有界面的程序。java不但可以做黑乎乎的命令行程序,而且还可以做出有界面的程序,像eclipse就是用java做的。
在早期做java界面用的是awt,毕向东老师讲的是awt,听韩顺平老师讲课的时候说swing好处很多,现在主要是用java swing。
分析:
到底如何产生一个窗体呢?手册里面用到的是JFrame 类。
代码:
import javax.swing.JFrame; public class JavaSwingDemo{public static void main(String[] args) {JFrame jwd=new JFrame();//实例化JFrame的类jwd.setVisible(true);//设置窗体可见jwd.setSize(400,200);//设置窗体大小jwd.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗体可关闭} }
添加按钮等一系列控件代码:
import javax.swing.JButton;import javax.swing.JFrame; public class JavaSwingDemo extends JFrame{ public static void main(String[] args) {JavaSwingDemo jwd=new JavaSwingDemo();}public JavaSwingDemo(){init();}private void init() {//设置窗体属性this.setVisible(true);this.setSize(400,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//添加控件JButton jb1=new JButton("按钮1");this.add(jb1);} }
(二)Java GUI四大布局
概述:
在添加控件时候发现了,添加的控件充满了整个窗口,其实java在填控件时候是有规则的,这就是人们常说的布局,Java常用的布局有三种,我这里没有写错是三种,这三种布局都不是,填写一个null就是空布局,就是没有用布局,这种布局也叫做绝对布局。
实例:
第一种:空布局
特点:也就是绝对布局,窗体内空间可以任意设置大小,位置
import javax.swing.JButton;import javax.swing.JFrame; public class JavaSwingDemo extends JFrame{ public static void main(String[] args) {JavaSwingDemo jwd=new JavaSwingDemo();}public JavaSwingDemo(){init();}private void init() {//设置窗体属性this.setVisible(true);this.setSize(400,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置空布局this.setLayout(null);//添加控件JButton jb1=new JButton("按钮1");JButton jb2=new JButton("按钮2");//设置两个控件大小jb1.setSize(100, 25);jb2.setSize(100, 25);//设置位置jb1.setLocation(0, 0);jb2.setLocation(200, 0);this.add(jb1);this.add(jb2);}}
第二种:流布局
特点:从做到有依次摆放空间,知道沾满一行,才转向下一行,拖动改变窗体大小可以看到流布局的效果
import java.awt.FlowLayout; import javax.swing.JButton;import javax.swing.JFrame; public class JavaSwingDemo extends JFrame{ public static void main(String[] args) {JavaSwingDemo jwd=new JavaSwingDemo();}public JavaSwingDemo(){init();}private void init() {//设置窗体属性this.setVisible(true);this.setSize(500,400);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocationRelativeTo(null);//设置流布局this.setLayout(new FlowLayout());//添加控件for (int i = 0; i < 10; i++) {this.add(new JButton("按钮"+i));}}}
第三种:边界布局
特点:是容器的默认布局,把被布局的容器分割成五部分
import java.awt.BorderLayout;import javax.swing.JButton;import javax.swing.JFrame; public class JavaSwingDemo extends JFrame{ public static void main(String[] args) {JavaSwingDemo jwd=new JavaSwingDemo();}public JavaSwingDemo(){init();}private void init() {//设置窗体属性this.setVisible(true);this.setSize(300,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocationRelativeTo(null);//设置流布局//添加控件this.add(BorderLayout.NORTH,new JButton("按钮1"));this.add(BorderLayout.WEST,new JButton("按钮2"));this.add(BorderLayout.SOUTH,new JButton("按钮3"));this.add(BorderLayout.EAST,new JButton("按钮4"));this.add(BorderLayout.CENTER,new JButton("按钮5"));}}
第四种:网格布局
特点:事先画好行列,然后空间按照行列依次排放
import java.awt.GridLayout;import javax.swing.JButton;import javax.swing.JFrame; public class JavaSwingDemo extends JFrame{ public static void main(String[] args) {JavaSwingDemo jwd=new JavaSwingDemo();}public JavaSwingDemo(){init();}private void init() {//设置窗体属性this.setVisible(true);this.setSize(500,400);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocationRelativeTo(null);//设置流布局this.setLayout(new GridLayout(4,4,5,5));//添加控件for (int i = 0; i < 15; i++) {this.add(new JButton(""+i));} }}
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
0 0
- 黑马程序员_java GUI 三大布局使用
- 黑马程序员_java GUI
- 黑马程序员_java GUI
- 黑马程序员_Java GUI
- 黑马程序员_java GUI
- 黑马程序员_java基础三(IO和GUI)
- 黑马程序员_Java GUI编程
- 黑马程序员_java之GUI
- 黑马程序员_java之GUI
- 黑马程序员_java之GUI
- 黑马程序员_java GUI编程
- 黑马程序员_java-GUI<九>
- 黑马程序员_java GUI编程
- 黑马程序员_java GUI编程
- 黑马程序员_java GUI编程
- 黑马程序员_java GUI事件
- 黑马程序员_java基础GUI
- 黑马程序员_Java基础-GUI
- Selenium 不支持高版本firefox
- 从google 代码仓库repo sync Android4.0 源代码
- Dtrace 资源库 URL 大全
- 将matlab原始代码的ROC曲线张贴出来供大家学习
- [水题][第一阶段-回归水题][HDOJ-2018]母牛的故事
- 黑马程序员_java GUI 三大布局使用
- 民警酒桌上赌玩 英雄联盟 少年挑战警察被
- Android UI 详解之LayoutInflater和setContentView
- 【FacebookSDK学习笔记】Facebook官方Demo例子简单分析
- Oracle逻辑存储结构---(一) 数据块
- 函数指针
- 排序高级之交换排序_奇偶排序
- Ubuntu系统配置你的DHCP服务器
- Android程序Crash时的异常上报