java GUI之基本图形
1.为了支持图形用户界面程序设计,java1.0的标准类库中包含一个抽象窗口工具箱(Abstract Window Toolkit,AWT).
这个工具箱极不成熟,其编程模型也不是面向对象的,有很大的局限性.为此,java1.2最终决定放弃AWT中的GUI,而是添加了一个Swing库.
Swing组件不仅可以完全替代AWT组件,而且提供了更多的复杂组件.
必须注意GUI程序设计是,不能混用AWT组件和Swing组件(例如不能将javax.swing.JList添加到java.awt.Frame中).所用Swing组件的类名以字母J开头,以区别AWT组件.
注意:Swing是基于AWT架构之上的,它没有完全替代AWT.
创建框架:
import java.awt.Container; import javax.swing.JButton;
import javax.swing.JFrame; public class FrameDmo {
public static void main(String[] args) {
JFrame frame = new JFrame("测试JFrame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//框架关闭时结束运行
frame.setSize(500, 300);//设置框架大小
frame.setVisible(true);//显示框架
}
}
setDefaultCloseOperation()告诉程序关闭当前框架时应该做什么.JFrame.Exit_ON_CLOSE就是告诉程序关闭程序是结束运行.否则关闭框架后,程序没有结束运行.

创建框架后,就可以添加组件了
import java.awt.Container; import javax.swing.JButton;
import javax.swing.JFrame; public class FrameDmo {
public static void main(String[] args) {
JFrame frame = new JFrame("测试JFrame");
JButton button=new JButton("按钮");
//取得框架的内容窗格
Container container=frame.getContentPane();
//将框架添加到框架的内容窗格中
container.add(button);
//框架关闭时结束运行
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置框架大小
frame.setSize(500, 300);
//显示框架
frame.setVisible(true);
}
}

java SE5之前,如果要将某个组件添加到框架中,必须首先调用类JFrame中的getContentPane取得框架的内容窗格,
然后通过该内容窗格调用方法add将组件添加到内容窗格中.例如上面的例子.
内容窗格委托.
import javax.swing.JButton;
import javax.swing.JFrame; public class FrameWithButton1 extends JFrame {
public FrameWithButton1(){
JButton button=new JButton("按钮");
add(button);//javaSE5之后采用
}
public static void main(String[] args) {
FrameWithButton1 frame=new FrameWithButton1();
frame.setTitle("将一个按钮添加到框架中");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,300);
frame.setVisible(true);
}
}

需要将组件添加到其内容窗格的容器有JFrame,JDialog,JApplet,JInternalFrame,jWindow.
java GUI之基本图形的更多相关文章
- JAVA GUI 工具
Java GUI图形界面开发工具 上大学那会儿比较主流的Java图形开发插件是:Visual Editor 和 SWT Designer, 不久又出了个Jigloo, 但去官网看了下发现这个东西也 ...
- java Gui编程 事件监听机制
1. GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式: 1. 命令交互方式 图书管理系统 ...
- Java GUI编程中AWT/swing/SWT的优缺点
http://www.cnblogs.com/dugang/archive/2010/10/22/1858478.html AWT AWT是Abstract Window Toolkit(抽象窗口工具 ...
- Java GUI编程4---标签组件JLabel
Java GUI编程4---标签组件JLabel 2018年06月11日 22:06:58 蓝蓝223 阅读数 12103更多 个人分类: Java书籍摘抄 所属专栏: Java Swing图形界面 ...
- Java GUI 图书管理系统
01 概述 一款功能强大的图书馆管理系统,功能齐全,小白/大学生项目实训,学习的不二之选. 02 技术 此系统使用 java awt 实现.java.awt是一个软件包,包含用于创建用户界面和绘制图形 ...
- Java GUI 桌面应用开发
前言 虽然现在已经很少项目会涉及GUI技术,但作为一个合格的Java开发工程师,还是得了解才得 本文记录,idea使用JFormDesigner插件进行Java GUI 桌面应用开发 GUI Swin ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- JAVA GUI
JAVA GUI中的事件处理: 委托事件模型:事件源对象和监听器对象具有绑定关系 一个监听器可以绑定多个事件源 一个事件源也可以绑定多个监听器 监听器有各自监听的事件类型 设置容器的布局管 ...
- paip.java gui swt/jface 最佳实践
paip.java gui swt/jface 最佳实践 1. 工具:Eclipse +jigloo4 1 2. 安装插件: 1 1. IMPORT swt lib 2 2. 新建立窗体 2 3. 运 ...
随机推荐
- Java Dns Cache Manipulator
通过代码直接设置Java的DNS(实际上设置的是DNS Cache),支持JDK 6+. 功能 设置/重置DNS(不会再去Lookup DNS) 可以设置单条 或是通过Properties文件批量设 ...
- sqlplus将查询结果重定向到文件,不输出到屏幕
--每行的字符数目 --该参数设置每页输出的行数.n=0表示不产生新页 --显示和拷贝long类型值的最大宽度的设置,最大值2G --sqlplus检索long类型值的增量大小.由于内存的限制 可按增 ...
- servlet & filter & listener & interceptor
web.xml 的加载顺序是:context- param -> listener -> filter -> servlet * Servlet 对URL生效,用户处理用户的URL请 ...
- android 组合控件接收不到点击事件的问题
android点击事件的传播是有子控件传给父控件,如果子控件处理过了,父控件不再处理,所以要想让组合控件接收点击事件,必须屏蔽子控件的点击事件. 设置组合控件的clickable和focusable属 ...
- DIV中的垂直居中
<div style="border:0px #ff0000 solid; width:100px;height:380px; line-height:380px; float:lef ...
- js之引用类型
一.摘要: <javascript高级程序设计第三版>一书中单独有一章对js的引用类型(Object.Array.RegExp.Function:基本包装类型:Boolean.Number ...
- SPOJ #692. Fruit Farm
Another palindrome related problem. Actually nothing too theoretical here, but please keep following ...
- 【Struts2学习笔记-8】Struts2实现json数据的返回
需要的jar包 struts2-json-plugin-2.3.12.jar xwork-core-2.3.16.3.jar struts.xml 来自为知笔记(Wiz) 附件列表 IMG_20150 ...
- 无法找到类:java.lang.ClassNotFoundException: com.mysql.jdbc.driver
转载自:http://blog.csdn.net/huangbiao86/article/details/6428608 问题描述:连接数据库,而明明已经将mysql-connector-java-5 ...
- linux 串口阻塞与非阻塞参数设置
在串口设置中,有以下两个参数可以决定是否阻塞. 在打开串口时不加O_NODELAY,可用下面的第二种方法,来进行阻塞/非阻塞的设定 c_cc[VTIME] 非规范模式读取时的超时时间(单位:百毫秒), ...