JAVA图形化界面设计
图形化界面程序大家都使用过,一般使用一个程序过程是:打开一个程序出现一个窗口或对话框,其中一般有菜单、工具栏、文本框、按钮、单选框、复选框等控件(组件也就是控件),用户录入相关数据,点按相关菜单、按钮,程序对数据进行相关处理,并将处理后的数据显示或者保存起来,最后关闭程序。
用java编程的相关设计步骤来分解上面的的程序运行过程如下图所示:
1、创建顶层容器
对应于程序的初始显现窗口,窗口中放入其它菜单、工具栏、文本框、按钮等组件
顶层容器图形化界面显示的基础,其它所有的组件(控件)都是直接或间接显示在顶层容器中的。在java中顶层容器有三种,分别是JFrame(框架窗口,即通常的窗口)、JDialog(对话框)、JApplet(用于设计嵌入在网页中的java小程序)。
2、创建中间容器、组件
对应于程序中出现的菜单、工具栏(中间容器)、文本框、按钮、单选框、复选框等控件。
有很多Swing组件可以使用,见前面的SwingUI组件表。
3、将组件加入容器
在java中创建组件后,还需要将组件放入相应的容器,才能在顶层容器,如窗口中显示出组件。
4、设置容器内组件的位置
组件添加到容器中,还必须设置好组件的显示位置,一般有两种方法来设置组建的显示位置,一是按照与容器的相对距离(以像素为单位),精确固定控件的位置;二是用布局管理器来管理组件在容器内的位置。
5、处理组件所产生的事件
即用户执行选择菜单、单击按钮等操作时,就要执行相应的命令,进行相关的程序处理,这就需要设置组件的事件。
实现上述JFrame图形化界面
创建一个继承JFrame的类
import java.awt.EventQueue;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;public class MyJFrame01 extends JFrame {private JPanel contentPane;private JTextField textField;private JButton btnNewButton;private JTextArea textArea;/*** Create the frame.*/public MyJFrame01() {setTitle("MyJFrame-01");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 509, 300);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);btnNewButton = new JButton("Send");btnNewButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {textArea.append(textField.getText() + "\n"); //将输入的文本加入到文本区域}});btnNewButton.setBounds(388, 10, 97, 23);contentPane.add(btnNewButton);textField = new JTextField();textField.setBounds(10, 11, 368, 21);contentPane.add(textField);textField.setColumns(10);textArea = new JTextArea();textArea.setBounds(10, 43, 475, 210);contentPane.add(textArea);}
}
我们在Test中创建对象,使用
import java.awt.EventQueue;public class TestJFrame {public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {MyJFrame01 frame = new MyJFrame01();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}
}
JAVA图形化界面设计相关推荐
- Java图形化界面设计——容器(JFrame)
Java图形化界面设计--容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构 ...
- java 网格布局管理器,Java图形化界面设计——布局管理器之GridLayout(网格布局)...
网格布局特点: l 使容器中的各组件呈M行×N列的网格状分布. l 网格每列宽度相同,等于容器的宽度除以网格的列数. l 网格每行高度相同,等于容器的高度除以网格的行数. l 各组件的排列方式 ...
- Java 图形化界面设计(GUI)实战练习(代码)
关于Java图形化界面设计,基础知识网上可搜,下面简单介绍一下重点概念,然后就由浅入深代码实例. 程序是为了方便用户使用的,Java引入图形化界面编程. 1.JFrame 是容器类 2.AWT 是抽象 ...
- Java图形化界面设计——GridBagConstraints
JAVA布局模式:GridBagConstraints终极技巧参数详解 布局模式 :GridBagConstraints布局,先发一个实例: gridx = 2; // X2 gridy = 0; / ...
- java卡片布局显示效果_三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)...
摘自 http://blog.csdn.net/liujun13579/article/details/7773945 卡片布局能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组 ...
- 三十、Java图形化界面设计——布局管理器之BorderLayout(边界布局)
边界布局管理器把容器的的布局分为五个位置:CENTER.EAST.WEST.NORTH.SOUTH.依次对应为:上北(NORTH).下南(SOUTH).左西(WEST).右东(EAST),中(CENT ...
- 三十三、Java图形化界面设计——布局管理器之null布局(空布局)
一般容器都有默认布局方式,但是有时候需要精确指定各个组建的大小和位置,就需要用到空布局. 操作方法: 1) 首先利用setLayout(null)语句将容器的布局设置为null布局(空布局 ...
- Java图形化界面设计——添加图片
1.使用JLabel组件来显示图片 JLabel 的构造方法: JLabel()JLabel(String text) JLabel(String text, int horizontalAlignm ...
- Java图形化界面设计(swing实现)
- 图形化界面设计软件简要介绍
图形化界面设计软件简要介绍 [摘要]:面向使用者的系统工程设计,其目的是要准确.快速地在设计者和使用者之间传递信息和实现功能,也是优化产品性能来适应大众的操作能力,减轻使用者的认知负担.成功的系统工程 ...
最新文章
- Ratatosk - Hybrid error correction of long reads enables accurate variant calling and assembly
- 坚持教学与科研相结合
- 在CentOS上禁用IPv6
- 神策数据 VP 张涛:个性化推荐从入门到精通(附推荐产品经理修炼秘籍)
- 【编译】StreamInsight应用调优入门(一)——概述
- 字符串首字母置为大写
- dubbo优势_Dubbo的作用和特点
- 关于计算机动画制作的过程,关于计算机制作动画的过程
- 魔兽争霸如何修改快捷键
- 学习笔记(01):程序员的数学:微积分-常用导数(一):最常用到的技巧
- 一台计算机数据丢失与恢复,数据丢失后的六种计算机恢复方法
- 网站调用百度地图展示位置,调用百度开放平台api 动态静态调用
- 暗影精灵5风扇怎么调_惠普HP暗影精灵5 Super游戏主机改装猫头鹰风扇攻略
- 惠普暗影精灵Plus 3代 (OMEN 17-an014TX)参数
- 第5 部分 EIGRP
- 37岁京东程序员“被猝死”,当事人辟谣:已报警
- RVM切换ruby版本
- Docker镜像上传到DockerHub和阿里容器仓库
- 熟读这5个开源项目就是合格的GO语言工程师
- 天猫补单-淘宝补单平台哪个最安全,如何找口碑好优质正规靠谱的补单平台?
热门文章
- 可视化 | Python时间序列化NBA球星赛季数据
- Vue-电子签名(E-Signature)
- 微信好友只有昵称没有微信号_只知道昵称怎么查他的微信号
- Reversible Data Hiding in Encrypted Images by Reversible Image Transformation
- android手机有哪些版本,支持安卓5.0的手机有哪些 android5.0手机汇总
- PBI Report Builder 报表设计与可视化
- 51单片机c语言学习笔记,51单片机学习笔记.docx
- 文件转换-----(类型,格式)
- 已解决The method is not allowed for the requested URL.
- 牛客小白月赛1 A题 Etéreo 是个爱学习的好孩子