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之基本图形的更多相关文章

  1. JAVA GUI 工具

    Java GUI图形界面开发工具   上大学那会儿比较主流的Java图形开发插件是:Visual Editor 和 SWT Designer, 不久又出了个Jigloo, 但去官网看了下发现这个东西也 ...

  2. java Gui编程 事件监听机制

    1.     GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式:   1. 命令交互方式    图书管理系统 ...

  3. Java GUI编程中AWT/swing/SWT的优缺点

    http://www.cnblogs.com/dugang/archive/2010/10/22/1858478.html AWT AWT是Abstract Window Toolkit(抽象窗口工具 ...

  4. Java GUI编程4---标签组件JLabel

    Java GUI编程4---标签组件JLabel 2018年06月11日 22:06:58 蓝蓝223 阅读数 12103更多 个人分类: Java书籍摘抄 所属专栏: Java Swing图形界面 ...

  5. Java GUI 图书管理系统

    01 概述 一款功能强大的图书馆管理系统,功能齐全,小白/大学生项目实训,学习的不二之选. 02 技术 此系统使用 java awt 实现.java.awt是一个软件包,包含用于创建用户界面和绘制图形 ...

  6. Java GUI 桌面应用开发

    前言 虽然现在已经很少项目会涉及GUI技术,但作为一个合格的Java开发工程师,还是得了解才得 本文记录,idea使用JFormDesigner插件进行Java GUI 桌面应用开发 GUI Swin ...

  7. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  8. JAVA GUI

    JAVA GUI中的事件处理:   委托事件模型:事件源对象和监听器对象具有绑定关系   一个监听器可以绑定多个事件源 一个事件源也可以绑定多个监听器 监听器有各自监听的事件类型   设置容器的布局管 ...

  9. paip.java gui swt/jface 最佳实践

    paip.java gui swt/jface 最佳实践 1. 工具:Eclipse +jigloo4 1 2. 安装插件: 1 1. IMPORT swt lib 2 2. 新建立窗体 2 3. 运 ...

随机推荐

  1. Java 实现学生信息管理系统

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

  2. Extjs4.2.1中的helloworld

    ExtJS最新正式版4.2.1下载地址:http://pan.baidu.com/s/1qWNt2kk (开发api文档:https://github.com/extjs-doc-cn/ext4api ...

  3. fetch用法

    fetch(REQUEST_URL) .then((response) => response.json()) .then((responseData)=> { console.log(r ...

  4. ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法

    ASP.NET的FileUpload控件默认是不支持服务端的onchange事件的,此时可以用一种变通的方法来实现这一功能. 这就需要借用客户端的onchange事件,调用__doPostBack方法 ...

  5. Android MVC模式

    Android MVC模式 下面是我对Android MVC模式的理解 Model 模型层 包括实体模型层,存放程序中调用的实体. 业务模型层,存放程序中调用的业务逻辑.   View 显示层  An ...

  6. discuz!3 二次开发C#学者

    PHP入门,从搞数据库开始: 大致看了以下PHP还是很简单的 比如链接数据库,就这么几行,比asp.net简单的多,就是需要自己搞数据的显示,需要精通HTML和代码生成技术: <?php $co ...

  7. [转] matlab saveas 和imwrite的区别

    http://hi.baidu.com/curbzz/item/04a69e805fc334e3e596e035 saveas(handle,['目录','文件名']) 如果只有一幅图,handle设 ...

  8. 同名域中计算机之间RDP问题

    今天遇到一个奇葩问题 server1 在domain1中 server2 在domain2中 domain1 和domain2的名字一样,然后从server1去RDP到server2,你是无论如何都无 ...

  9. Linux下做软RAID

    1.查看有多少块硬盘可用#fdisk -l嗯,一般而言,留下系统盘不动,其它的盘如果大小相同的话,统统合起来做一个raid. 2.决定做什么类型的raid.raid-0.raid-1.raid-5?如 ...

  10. phpize的安装

    一直想装VLD却一直没装上,因为需要用到phpize,但这个工具大部分机子都没有装,上网搜了一下大部分都是讲phpize的应用没有讲怎么安装. 今天终于搜到了,不过是要在linux机器上,有yum命令 ...