滚动显示效果:
http://blog.csdn.net/mq612/article/details/1218022
myecplise9开发swing图形界面代码生成器使用方法(只有myecplise9或以上版本才自带swing代码生成工具):File--new other--Myecplise下面的Swing下面的Matisse Form--Next--在这个界面为java文件起名字并选择新建的界面类型,一般选择JFrame--Finish--然后就打开新建的文件了,在左边的Matisse Palette界面(如果没有的话就show view开此界面)上选择各种swing控件拖拽到右边自己新建的界面上就好了,代码会自动生成到同目录下的相同名称的java文件里面
jdk提供了一些用纯java写的图形用户界面的小案例,具体在jdk的安装目录下面的jdk1.6.0_12\demo\jfc里面都是一个个的小案例,双击里面的jar文件就能看到效果。
AWT概念:
GUI是Graphical User Interface,即图形用户界面。根据作用GUI组件可分为基本组件和容器。组件又称构件,诸如按钮、文本框之类的图形界面元素。
容器其实是一种比较特殊的组件,可以容纳其他组件,如窗口、对话框等。
所有容器类都是java.awt.Container的直接或间接子类。
Container,它是Component的一个子类,而且包括两个主要子类
--Panel
--window
AWT(Abstract Window Toolkit),抽象窗口工具包,SUN公司提供的用于图形界面编程(GUI)的类库。基本的AWT库处理用户界面元素的方法是把这些元素的创建和行为委托给每个目标平台上(Window、Unix、Macintosh等)的目的GUI工具进行处理。例如:如果我们使用AWT在一个Java窗口中放置一个那妞,那么实际上使用的是一个具有本地外观和感觉的按钮。这样,从理论上来说,我们所编写的图形界面程序能运行在任何一个平台上,做到了图形界面程序的跨平台运行。
Container
-- Container的两个主要类型是Window和Panel
--Window是Java.awt.Window的对象
Window是java.awt.Window的对象。Window是显示屏上独立的本机窗口,它独立于其它容器。
Window有两种形式:Frame(框架)和Dialog(对话框)。Frame和Dialog是Window的子类。
Frame是一个带有标题和缩放角的窗口。对话框没有菜单条。尽管它能移动,但它不能缩放。
Panel是Java.awt.Panel的对象
--Panel是Java.awt.Panel的对象。Panel包含在另一个容器中,或是在Web浏览器的窗口中。Panel确定一个四边形,其它组件可以放入其中。
Panel必须放在Window之中(或Window的子类中)以便能显示出来。
--注:容器不但能容纳组件,还能容纳其他容器,这一事实对于建立复杂的布局是关键的,也是基本的。
1、容器里的组件的位置和大小是由布局管理器决定的。
2、可以通过停用布局管理器来控制组件的大小或位置。
3、然后必须使用组件上的setLocation()、setSize()、或setBounds()来定位他们在容器里的位置。
容器里的组件的位置和大小是由布局管理器决定的。容器对布局管理器的特定实例保持了一个引用。当容器需要定位一个组件时,它将调用布局管理器来做。当决定一个组件的大小时,同样如此。布局管理器完全控制容器内的所有组件,它负责计算并定义上下文中对象在实际屏幕中所需的大小。
Frames详解:
1、是Window的子类。
2、具有辩题和缩放角
3、从容器继承并以add方式添加组件。
4、能一字符串规定的标题来创建不可见框架对象。
5、能将BorderLayout当做缺省布局管理器
6、用setLayout方式来改变缺省布局管理器
Frame是Window的一个子类。它是带有标题和缩放角的窗口。它继承于Java.awt.Container,因此,可以用add()方式来给框架添加组件。框架的缺省布局管理器就是Borfer Layout。它可以用setLayout()方式来改变。
在框架显示在屏幕上之前,必须做成可见的(通过调用程序setVisible(true)),而且其大小是确定的(通过调用程序setSize()或pack())。
Panels详解:
1、为组件提供空间。
2、允许子面板拥有自己的布局管理器。
3、以add方法添加组件:
a)像Frames一样,Panels提供空间来连接任何GUI组件,包括其他面板。每个面板都可以有它自己的布局管理程序。
b)一旦一个面板对象被创建,为了能看得见,它必须添加到窗口或框架对象上。用Container类中的add()方式可以做到这一点。
容器里组件的位置和大小是由布局管理器来决定的。容器对布局管理器的特定实例保持一个引用。当容器需要定位一个组件时,它将调用布局管理器来完成。当决定一个组件的大小时,也是如此。
在AWT中,给我们提供了五种布局管理器:
BorderLayout
FlowLayout
GridLayout
CardLayout
GridBagLayout
容器中组件的布局通常由布局管理器控制。每个Container(比如一个Panel或一个Frame)都有一个与它相关的缺省布局管理器,它可以通过调用setLayout()来改变。
布局管理器负责决定布局方针以及其容器的每一个子组件的大小。
默认布局管理器:如附件“布局管理器.jpg”
Flow布局管理器:
1、与其他布局管理器不一样,Flow布局管理器不限制它所管理的组件的大小,而是允许它们有自己的最佳大小。
2、默认是居中放置组件。
3、如果想再组件之间创建一个更大的最小间隔,可以规定一个界限。
4、当用户对由Flow布局管理的区域进行缩放时,布局就发生变化。
下面的例子就是如何用类容器的setLayout()方法来创建Flow布局对象并安装它们
--setLayout(new FlowLayout(int align,int hgap, int vgap));
--对齐的值必须是FlowLayout.LEFT, FlowLayout.RIGHT,或FlowLayout。CENTER
--例如:
--setLayout(new FlowLayout(FlowLayout.RIGHT,20,40));
New FlowLayout(FlowLayout.RIGHT,20,40);右对齐,组件之间水平间距20个像素,竖直间距40个像素。
New FlowLayout(FlowLayout.LEFT);右对齐,水平和竖直间距为缺省值:5;
New FlowLayout();使用缺省的居中对齐方式,水平和竖直间距为缺省值:5;
Border布局管理器:
1、Border布局管理器为在一个Panel或Window中放置组件提供一个更复杂的方案。Border布局管理器包括五个明显的区域:东南西北中。
2、北占据面板的上方,东占据面板的右侧,等等。中间区域是在东南西北都填满后剩下的区域。当窗口垂直延伸时,东西中区域也延伸;而当窗口水平延伸时,东西中区域也延伸
3、当窗口缩放时,按钮相应的位置不变化,但其大小改变。
BorderLayout是Frame类的默认布局管理器。
BorderLayout将整个容器的布局划分为东、西、南、北、中五个区域,组件只能被添加到指定的区域。
如不指定组件的加入部位,则默认加入到Center区域。
每个区域只能加入一个组件,如加入过个,则先前加入的组件会被遗弃。
Flow布局管理器FlowLayout:
与其他布局管理器不一样,Flow布局管理器不限制它所管理的组件的大小,而是允许它们有自己的最佳大小。
默认是居中放置组件。
如果想再组件之间创建一个更大的最小间隔,可以规定一个界限。
当用户对由Flow布局管理器的区域进行缩放时,布局就发生变化。
Grid布局管理器GridLayout………【网格的形式】,想要了解的话再去看视屏,里面有详细讲解,这里没有做笔记。
布局管理器总结:
Frame:
--Frame是一个顶级窗口。
--Frame的缺省布局管理器为BorderLayout.
Panel:
--Panel无法单独显示,必须添加到某个容器中。
--Panel的缺省布局管理器为FlowLayout。
--当把Panel作为一个组件添加到某个容器中后,该Panel仍然可以有自己的布局管理器。因此。可以利用Panel使得BorderLayout中某个区域显示多个组件。
在程序中安排组件的位置和大小时,应注意(做一般性的开发最好还是使用jdk为我们提供的布局管理器,巧妙的多利用一些Panel等容器,做出来效果也挺好,最好不要使用自己定义设定的布局管理器,自定义的一般要考虑的因素太多,一般很难做好):
1、容器中的布局管理器负责各个组件的大小和位置,因此用户无法在这种情况下设置组件的这些属性。如果试图使用Java语言提供的setLocation(),setSize(),setBounds()等方法,则都会被布局管理器覆盖。
2、如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:
setLayout(null);
下面是一个简单的示例,自己练习下,里面涉及到两种布局管理器:
package com.shengshiyuan.awt;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.Panel;
public class ExGui3 {
private Frame frame;
private Panel panel;
private Button b1, b2, b3, b4;
public void go() {
// Frame默认布局管理器BorderLayout
frame = new Frame("complex layout");
b1 = new Button("West");
b2 = new Button("hello");
frame.add(b1, BorderLayout.WEST);
frame.add(b2, BorderLayout.CENTER);
// Panel默认布局管理器FlowLayout
panel = new Panel();
b3 = new Button("world");
b4 = new Button("welcome");
panel.add(b3);
panel.add(b4);
frame.add(panel, BorderLayout.NORTH);// 将panel放到北面
frame.pack();// 压缩页面
frame.setVisible(true);
}
public static void main(String[] args) {
ExGui3 gui3 = new ExGui3();
gui3.go();
}
}
Swing是第二代GUI开发工具,和AWT非常类似,下面讲解一些Swing的知识:
1、Swing:
---是第二代GUI开发工具;
---它建立在AWT之上,但用新版本的组件替代了旧版本的组件;
---它提供了许多新的组件和相关的API。
关于Swing我们经常用到的有两个包:
--javax.swing;
--javax.swing.event
顶层容器:
Java提供了三个顶层容器:JFrame、JDialog,和JApplet。很多类的命名和AWT里的类命名类似,只是在前面加了一个J。
特点:
---显示在屏幕上的每个组件都必须在一个包含继承中。每一个包含继承都有一个顶层容器作为它的根。
---每一个顶层容器都有一个Content pane,它包含了顶层容器中的所有组件。
---菜单在顶层容器中,但在content pane之外。
1、在Content Pane中添加组件有两种方式:
---topLevelContainer.getContentPane().add(yellowLabel, BorderLayout.CENTER);
---JPanel contentPane = new JPanel();topLevelContainer.setContentPane(contentPane);
2、添加菜单条:
JMenuBar cyanMenuBar = new JMenuBar();
Frame.setJMenuBar(cyanMenuBar);
JFrame是一个带有标题和可变大小边框的窗口。任何一个图形界面应用程序都必须至少有一个JFrame。
Color类:
---Color类将颜色按照sRGR标准格式进行封装,该格式中红、绿、蓝三原色的取值范围都是0~255。
---Color类定义了多个构造方法,常用的有:
Public Color(int r,int g,int b)
Public Color(int r,int g,int b, int a)//a为透明度参数
Color c = new Color(200,170,90);
Color d = new Color(200,170,90,120);
---在GUI设计中使用Color类:
Button b = new Button(“Test”);
Color c = new Color(200,170,90);
b.setBackground(c);
附件里面的实例代码是一些常见的Swing界面java代码汇总。
- 大小: 16.4 KB
分享到:
相关推荐
总结一下,搭建Eclipse下的Swing/AWT/SWT开发环境主要包括: 1. 对于AWT,直接使用Eclipse创建Java项目即可。 2. 对于Swing,可选择安装JBuilder或WindowBuilder Pro插件进行可视化设计。 3. 对于SWT,需要安装SWT ...
总结来说,Swing和AWT是Java GUI编程的两个主要工具,它们在J2SE中并存,为开发者提供了构建桌面应用的多样化选择。Swing以其丰富的组件库、一致的外观和强大的功能,成为了许多Java开发者的首选。通过深入学习这两...
总结来说,"AWT/Swing 可视化eclipse插件"是Eclipse开发环境中一个强大的工具,它为开发者提供了便利的GUI设计环境,提高了开发效率,增强了代码的可读性和可维护性。对于那些经常处理AWT和Swing应用的开发者来说,...
在本实验报告中,主题是“Java实验报告之图形用户界面程序设计与AWT/Swing组件”,主要目标是让学生熟悉Java GUI设计原理、程序结构,掌握AWT和Swing组件的功能,以及学会应用这些组件来设计应用程序,特别是实现一...
### Java计算器:Swing与AWT的综合应用 在探讨如何使用Java开发一个具备基本运算功能(加、减、乘、除以及开平方根)的计算器之前,我们首先需要了解Swing与AWT这两个用于图形用户界面(GUI)设计的框架。 #### AWT ...
总结来说,AWT、Swing和SWT各有优势和劣势。在决定使用哪一种框架时,需要根据应用的具体需求、目标平台、性能要求以及资源限制来做出选择。如果追求跨平台一致性以及丰富的GUI组件,Swing是一个不错的选择。如果...
- **Swing**:Swing是建立在AWT基础上的一个更高级的图形界面工具包,它提供了一系列用于构建桌面应用程序的组件。Swing的优势在于跨平台性更强,且提供了更多的定制选项和外观控制。 - **SWT**:SWT是另一个用于...
Java图形界面(GUI)开发是Java编程中的一个重要领域,它为用户提供直观...总结来说,AWT、Swing和SWT各有优势,开发者应根据具体项目需求来决定使用哪个库。在实际开发中,这些库经常结合使用,以充分利用各自的优势。
与 AWT(Abstract Window Toolkit)相比,Swing 使用轻量级组件,不依赖底层操作系统提供的窗口系统,这使得 Swing 应用程序更加灵活且可定制性更强。 Swing 的类层次结构主要分为两类:顶层数组容器和轻量级组件。...
主要是总结了awt和swing常用组件中常用方法概况。
### Java Swing 知识总结学习笔记 #### 一、Swing 概述 Swing 是一个用于构建桌面应用程序的 Java 图形用户界面 (GUI) 工具包,它基于 Java Abstract Window Toolkit (AWT) 构建而成。Swing 提供了更丰富的组件集...
Java AWT(Abstract Window Toolkit)是Java编程语言中用于创建图形用户界面(GUI)的基础...在实际开发中,开发者通常会结合AWT和Swing的优点,利用Swing的可定制性和丰富的组件库来构建更现代、更美观的用户界面。
#### 总结 在Java Swing开发中,正确管理线程是非常重要的。Swing组件默认不是线程安全的,因此必须通过`SwingUtilities.invokeLater()`、`SwingUtilities.invokeAndWait()`或使用`SwingWorker`类来确保所有对Swing...
《基于Java AWT & Swing GUI的学生信息管理系统设计与开发》 在信息技术日益发达的今天,信息管理系统已经成为各行各业不可或缺的一部分。本项目"利用Java AWT & Swing GUI开发的一款学生信息管理系统",是人工智能...
Java编程语言提供了丰富的库来创建用户界面,其中AWT(Abstract Window Toolkit)和Swing是两个重要的组件。在这个“Java简单时钟(AWT)”的例子中,我们将深入探讨这两个库在构建一个模拟石英钟的应用中的应用,同时...
### 使用Java AWT和Swing实现简单图形用户界面的关键知识点 #### 1. Java AWT与Swing简介 - **AWT(Abstract Window Toolkit)**:是Java早期提供的用于创建图形用户界面(GUI)的工具包。它依赖于底层操作系统提供...
首先,Swing是Java Foundation Classes (JFC)的一部分,它是AWT(Abstract Window Toolkit)的增强版,提供了更多美观的组件和事件处理机制。Swing组件都是轻量级的,这意味着它们大部分功能是用Java实现的,而不是...