软件的层次结构之Swing
来源:互联网 发布:万能视频修复软件 编辑:程序博客网 时间:2024/05/06 23:00
软件的三个层次:表现层;业务层;持久层;
业务层
图形界面
1.历史
1.1 SUN Jdk1.1 AWT 控件少,不方便应用开发
1.2 Java 1.2 Swing 基于AWT的绘图功能重绘的界面组件,提供了极其丰富的界面组件
a.性能极慢
b.结构优秀(MVC)
c.实际应用很少,
1.3 IBM提供了SWT(AWT+Swing)
a.采用本地C代码完成控件绘制,性能好,Eclipse
b.实际应用很少
Swing应用
1 JFrame代表一个窗口控件
包括标题栏、控制按钮、边框及内容面板(contentPane)
2 JLable用来在GUI上显示文本或图片
3 面板(JPanel)用来组织控件的矩形区域
JFrame window=new JFrame("Do考试系统");
window.setSize(300, 200);
window.getContentPane().add(new JLabel("welcome to Do"));
window.setVisible(true);
关于布局管理:控制组件在面板中的显示位置
1 空布局
----JFrame(w,h)
|----JPanel(w,h)
|----JButton(x,y,w,h)
package ELTS;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class ELTS {public static void main(String[] args) {JFrame window=new JFrame("Do");window.setSize(574, 390);JPanel panel=new JPanel();panel.setLayout(null);//布局方式为空布局window.setContentPane(panel);JButton ok=new JButton("ok");panel.add(ok);ok.setLocation(392,327);//位置ok.setSize(92,21);//大小JButton exit=new JButton("exit");panel.add(exit);exit.setLocation(466, 327);exit.setSize(92, 21);window.setVisible(true);}}
2 布局管理器(相对位置布局,组件的大小及位置由布局控制器控制)
a BoarderLayout(边框布局) 规定组件大小及相对位置
将一个面板相对分为“东”“南”“西”“北”,每个位置只能放置一个组件,“中”会自动地向其他四个方向填充,即只有“中”会填充整个面板
-----------------------------------
| 北 |
| North |
|----------------------------------|
| | | |
| 西 | 中 | 东 |
| | Center | |
|----------------------------------|
| 南 |
| South |
------------------------------------
b FlowLayout(流式布局)
多个元素顺序排列(居中排放),一排满了,排另一排
例:
package ELTS;import java.awt.BorderLayout;import java.awt.FlowLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class ELTS {public static void main(String[] args) {JFrame window=new JFrame("Do");JPanel windowPanel=new JPanel(new BorderLayout());//设置边框布局JPanel sPannl=new JPanel(new BorderLayout());//设置边框布局JPanel left =new JPanel(new FlowLayout());JPanel rightPanel=new JPanel(new FlowLayout());//设置流布局JButton ok=new JButton("ok");//创建按键JButton canal=new JButton("canal");//创建按键JButton help=new JButton("?");window.setSize(500, 400);//设置窗体大小window.setContentPane(windowPanel);//窗体添加边框布局windowPanel.add(BorderLayout.SOUTH,sPannl);//边框布局南部添加 sPannlsPannl.add(BorderLayout.EAST,rightPanel);//边框布局东部部添加 rightPanelsPannl.add(BorderLayout.WEST,left);rightPanel.add(ok);//流布局添加按键rightPanel.add(canal);//流布局添加按键left.add(help);window.setVisible(true);//设置可见}}
- 软件的层次结构之Swing
- Swing的类层次结构
- Java Swing的层次结构理解
- 软件的层次化结构
- Android 软件层次结构
- 嵌入式系统的硬件基本结构和软件层次结构
- 嵌入式系统的硬件基本结构和软件层次结构
- java异常 之 异常的层次结构
- iOS之UIView的层次结构变更
- Swing组件类的层次
- Hi SDK软件层次结构
- 计算机网络之层次结构
- 存储系统的层次结构
- 存储器的层次结构
- unix的层次结构
- J2EE的层次结构
- 驱动程序的层次结构
- 类的层次结构
- OCP-1Z0-053-V13.02-325题
- Qt绘制简易时钟
- 做程序员要遵循的几个基本原则!
- Access 修改窗口大小(亲自实践)
- MongoDB的备份恢复和导入导出
- 软件的层次结构之Swing
- POJ 3080 Blue Jeans KMP+暴力
- sqlite
- ZXing二维码开源项目,横屏变竖屏
- 数据存储《图片加载的性能优化》来自印象笔记
- 冒泡排序
- 文件路径分隔符
- JS中alert Number对象输出object解答
- 二分查找