图形化界面程序大家都使用过,一般使用一个程序过程是:打开一个程序出现一个窗口或对话框,其中一般有菜单、工具栏、文本框、按钮、单选框、复选框等控件(组件也就是控件),用户录入相关数据,点按相关菜单、按钮,程序对数据进行相关处理,并将处理后的数据显示或者保存起来,最后关闭程序。

用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图形化界面设计相关推荐

  1. Java图形化界面设计——容器(JFrame)

    Java图形化界面设计--容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构 ...

  2. java 网格布局管理器,Java图形化界面设计——布局管理器之GridLayout(网格布局)...

    网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式 ...

  3. Java 图形化界面设计(GUI)实战练习(代码)

    关于Java图形化界面设计,基础知识网上可搜,下面简单介绍一下重点概念,然后就由浅入深代码实例. 程序是为了方便用户使用的,Java引入图形化界面编程. 1.JFrame 是容器类 2.AWT 是抽象 ...

  4. Java图形化界面设计——GridBagConstraints

    JAVA布局模式:GridBagConstraints终极技巧参数详解 布局模式 :GridBagConstraints布局,先发一个实例: gridx = 2; // X2 gridy = 0; / ...

  5. java卡片布局显示效果_三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)...

    摘自 http://blog.csdn.net/liujun13579/article/details/7773945 卡片布局能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组 ...

  6. 三十、Java图形化界面设计——布局管理器之BorderLayout(边界布局)

    边界布局管理器把容器的的布局分为五个位置:CENTER.EAST.WEST.NORTH.SOUTH.依次对应为:上北(NORTH).下南(SOUTH).左西(WEST).右东(EAST),中(CENT ...

  7. 三十三、Java图形化界面设计——布局管理器之null布局(空布局)

    一般容器都有默认布局方式,但是有时候需要精确指定各个组建的大小和位置,就需要用到空布局. 操作方法: 1)       首先利用setLayout(null)语句将容器的布局设置为null布局(空布局 ...

  8. Java图形化界面设计——添加图片

    1.使用JLabel组件来显示图片 JLabel 的构造方法: JLabel()JLabel(String text) JLabel(String text, int horizontalAlignm ...

  9. Java图形化界面设计(swing实现)

  10. 图形化界面设计软件简要介绍

    图形化界面设计软件简要介绍 [摘要]:面向使用者的系统工程设计,其目的是要准确.快速地在设计者和使用者之间传递信息和实现功能,也是优化产品性能来适应大众的操作能力,减轻使用者的认知负担.成功的系统工程 ...

最新文章

  1. Ratatosk - Hybrid error correction of long reads enables accurate variant calling and assembly
  2. 坚持教学与科研相结合
  3. 在CentOS上禁用IPv6
  4. 神策数据 VP 张涛:个性化推荐从入门到精通(附推荐产品经理修炼秘籍)
  5. 【编译】StreamInsight应用调优入门(一)——概述
  6. 字符串首字母置为大写
  7. dubbo优势_Dubbo的作用和特点
  8. 关于计算机动画制作的过程,关于计算机制作动画的过程
  9. 魔兽争霸如何修改快捷键
  10. 学习笔记(01):程序员的数学:微积分-常用导数(一):最常用到的技巧
  11. 一台计算机数据丢失与恢复,数据丢失后的六种计算机恢复方法
  12. 网站调用百度地图展示位置,调用百度开放平台api 动态静态调用
  13. 暗影精灵5风扇怎么调_惠普HP暗影精灵5 Super游戏主机改装猫头鹰风扇攻略
  14. 惠普暗影精灵Plus 3代 (OMEN 17-an014TX)参数
  15. 第5 部分 EIGRP
  16. 37岁京东程序员“被猝死”,当事人辟谣:已报警
  17. RVM切换ruby版本
  18. Docker镜像上传到DockerHub和阿里容器仓库
  19. 熟读这5个开源项目就是合格的GO语言工程师
  20. 天猫补单-淘宝补单平台哪个最安全,如何找口碑好优质正规靠谱的补单平台?

热门文章

  1. 可视化 | Python时间序列化NBA球星赛季数据
  2. Vue-电子签名(E-Signature)
  3. 微信好友只有昵称没有微信号_只知道昵称怎么查他的微信号
  4. Reversible Data Hiding in Encrypted Images by Reversible Image Transformation
  5. android手机有哪些版本,支持安卓5.0的手机有哪些 android5.0手机汇总
  6. PBI Report Builder 报表设计与可视化
  7. 51单片机c语言学习笔记,51单片机学习笔记.docx
  8. 文件转换-----(类型,格式)
  9. 已解决The method is not allowed for the requested URL.
  10. 牛客小白月赛1 A题 Etéreo 是个爱学习的好孩子