什么是JAVA SWING

来源:互联网 发布:ubuntu flash 编辑:程序博客网 时间:2024/06/02 03:33

Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。

工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event

创建图形界面步骤

(1)导入Swing包
(2)选择界面风格
(3)设置顶层容器
(4)设置按钮和标签
(5)将组件放到容器上
(6)为组件增加边框
(7)处理事件
(8)辅助技术支持

下面语句导入Swing包
import javax.swing.*;
大部分Swing程序用到了AWT的基础底层结构和事件模型,因此需要导入两个包:
import java.awt.*;
import java.awt.event.*;
如果图形界面中包括了事件处理,那么还需要导入事件处理包:
import javax.swing.event.*;
选择界面风格
Swing允许选择程序的图形界面风格常用的有java风格,windows风格等
下面的代码用于选择图形界面风格,这里选择的是跨平台的Java界面风格。
try { UIManager.setLookAndFeel(
UIManager.getCrossPlatformLookAndFeelClassName( )); }
catch (Exception e) { }
设置顶层容器
图形界面至少要有一个顶级Swing容器
顶级Swing容器为其它Swing组件在屏幕上的绘制和处理事件提供支持
常用的顶级容器:
JFrame(框架):表示主程序窗口
JDialog(对话框):每个JDialog对象表示一个对话框,对话框属于二级窗口
JApplet(小程序):在浏览器内显示一个小程序界面
一个框架包括边界、菜单栏、工具栏、状态栏,以及中间占主要部分的窗格
窗格也可以看作是一种面板,但它是框架的一个组成部分
组件不会直接放到框架上,而是放在若干个面板上,这些面板再放到窗格上
用框架对象的getContentPane()函数来获得窗格,再调用窗格的add()函数放置面板
public static void main(String[ ]args){JFrame frame=new JFrame("SwingApplication");
JPanel panel1=new JPanel();
frame.getContentPane().add(panel1,BorderLayout.CENTER);
......//
设置其他组件
frame.pack();frame.setVisible(true);}

模式使用

关键是java.awt.*里面的两个与显示设备有关的类:GraphicsEnvironment和GraphicsDevice。
GraphicsEnvironment为Java应用程序提供了特定平台的 GraphicsDevice对象和 Font 对象集合。这些GraphicsDevice可以是各种本机和远端机器的资源,如屏幕、打印机或者是Image Buffer,甚至是Graphics2D绘图方法的目标对象。
而GraphicsDevice就是指特定的图形环境了,如屏幕和打印设备等。这样,我们就可以用GraphicsDevice来操纵屏幕了。GraphicsDevice提供的setFullScreenWindow()方法就是设置全屏幕用的
事件处理

监听器:ActionListener
方 法:actionPerformed
事 件:ActionEvent
事件产生原因:点击按钮,在列表框中选择内容,在文本框中点回车,计时器到期

监听器:AdjustmentListener
方 法:adjustmentValueChanged
事 件:AdjustmentEvent
事件产生原因:滚动条的滚动

监听器:ItemListener
方 法:itemStateChanged
事 件:ItemEvent
事件产生原因:各种按钮的点击,列表框的选择

监听器:FocusListener
方 法:focusGained、focusLost
事 件:FocusEvent
事件产生原因:各种组件的焦点变化

监听器:KeyListener
方 法:keyPressed、keyReleased、keyTyped
事 件:KeyEvent
事件产生原因:在各种组件上敲击键盘

监听器:MouseListener
方 法:mouseClicked、mousePressed、mouseReleased
mouseEntered、mouseExited
事 件:MouseEvent
事件产生原因:在任何组件上点击鼠标、将光标移动进来或出去

监听器:MouseMotionListener
方 法:mouseDragged、mouseMoved
事 件:MouseEvent
事件产生原因:在任何组件上移动鼠标

监听器:MouseWheelListener
方 法:mouseWheelMoved
事 件:MouseWheelEvent
事件产生原因:在任何组件上滚动鼠标中键

监听器:WindowListener
方 法:windowOpened、windowClosing、windowClosed、windowIconified
windowDeiconified、windowActivated、windowDeactivated
事 件:WindowEvent
事件产生原因:窗口发生变化

监听器:WindowFocusListener
方 法:windowGainedFocus、windowLostFocus
事 件:WindowEvent
事件产生原因:窗口得到或失去焦点

监听器:WindowstateListener
方 法:WindowstateChanged
事 件:WindowEvent
事件产生原因:窗口状态改变