导航:首页 > 编程语言 > java图形界面swing

java图形界面swing

发布时间:2024-06-30 14:08:49

1. 请简要说明java基于SWING的图形用户界面设计中的事件机制及处理事件的步骤 谢谢了,简要

编程语言中的事件就是当某组件的状态发生改变的时候通知其它对象发生了这件事,我们在这里只讨论图形界面的组件,有可能是按钮、文本框、菜单、多选等等。
对于通知其它对象的方法一般有两种模式:
1)推模式:状态改变的对象通知其它对象;
2)拉模式:其他对象不停的查看该对象状态是否发生改变。
例如我去小卖部买烟,要一包红塔山,结果小卖部没货了,如果我把我得电话给小卖部老板,烟如果到了请给我打电话,这就是推模式。如果我每隔5分钟来小卖部看一看烟是否到了,这就是拉模式。
Java采用的是推模式,所有监听事件都基于观察者设计模式,所以我们也可以自己给予观察者开发出专用的监听器。

我们JavaGUI程序开发,会经常使用到监听事件,比如一个小计算器的程序,当我们点击“计算”按钮后,希望程序将两个文本框中的数字相加,那么就必需给这个按钮添加事件:
1)按钮的动作触发事件接口是ActionListener接口(不同组件要实现不同功能需要有不同的接口),我们需要写一个事件类,实现ActionListener接口,接口中需要我们实现的方法actionPerformed(ActionEvent e)代表了当按钮事件被触发后需要程序做些什么,比如在这里用System.out.println("你好")在控制台打印你好,这一步就相当于我把电话写在纸上。
2)调用JButton组件实例的addActionListener(ActionListener al)方法(其它事件也有相应的方法)将上面写的事件类注册到这个按钮上,这就相当于我把写着电话的纸条交给小卖部的老板。
上述两部工作完成后,这个按钮的事件就添加完成了,程序运行,点击按钮,动作事件被触发,控制台显示“你好”。

实例:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

/**
* 一个简单的按钮事件教学实例
* @author 米强
*
*/
public class Test extends JFrame {

public Test() {
super("简单的按钮事件实例");
// 一个按钮的实例化对象
JButton button = new JButton("按钮");
// 构造一个事件类,该类实现了ActionListener动作接口
MyActionListener action = new MyActionListener();
// 为这个按钮添加动作事件(匿名类等写法在这里不做讨论)
button.addActionListener(action);
// 将按钮添加到窗体中
getContentPane().add(button);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setLocationRelativeTo(null);
setVisible(true);
}

public static void main(String[] args) {
new Test();
}

}

/**
* 事件类,实现ActionListener接口
* @author 米强
*
*/
class MyActionListener implements ActionListener {

/**
* 动作事件出发后所执行的方法
*/
public void actionPerformed(ActionEvent e) {
// 在控制台打印“你好”
System.out.println("你好");
}

}

2. java的swing组件的使用

这些直接看对应JDK版本的java doc里面关于swing的部分,有很详细的索引页和每种控件的使用方法,还有jdk自己的一些sample。

3. java awt和swing有什么区别

跟本地系统的相关性。。JDK写程序 所有功能都是靠虚拟机去操作本地操作系统 比如window下。。就是JDK用windows API实现你功能

而awt包中很多组件是组件自身去调用本地操作系统代码
swing包中的组件 采用的是调用本地虚拟机方法,由虚拟机再调用本地操作系统代码。。
意思就是中间多了一层,这样就加强了swing包的移植性,与本地关系不那强了

4. java的awt和swing有什么不同呢

awt和swing的区别:

1.awt是基于本地方法的C/C++程序,其运行速度比较快;

而swing是基于awt的Java程序,其运行速度比较慢。

2.AWT的控件在不同的平台可能表现不同,而Swing在所有平台表现一致。

3.AWT和Swing的实现原理不同。

AWT的图形函数与操作系统提供的图形函数有着一一对应的关系。

而Swing 不仅提供了AWT 的所有功能,还用纯粹的Java代码对AWT的功能进行了大幅度的扩充。

4.awt是抽象窗口组件工具包,是 java 最早的用于编写图形节目应用程序的开发包;

但swing是为了解决awt存在的问题而新开发的包,它以awt为基础的。

(4)java图形界面swing扩展阅读:

在实际应用中,应该使用AWT还是Swing取决于应用程序所部署的平台类型。

对于一个嵌入式应用,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。

在这种矛盾的情况下,简单而高效的AWT当然成了嵌入式Java的第一选择。

在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素。

所以在标准版的Java中则提倡使用Swing, 即通过牺牲速度来实现应用程序的功能。

5. java涓璼wing鏄浠涔堟剰镐濓纻

Swing鏄疛ava骞冲彴镄勪竴涓狦UI锛埚浘褰㈢敤鎴风晫闱锛夋嗘灦锛屽畠鎻愪緵浜嗕竴濂椾赴瀵岀殑缁勪欢銆佸竷灞绠$悊鍣ㄥ拰浜嬩欢浣撶郴锛岃兘澶熷揩阃熸惌寤哄悇绉岖獥鍙e簲鐢ㄧ▼搴忋係wing镄勪唬镰佸彲浠ヨ法骞冲彴杩愯岋纴锲犳ゅ彲浠ヤ缭璇佺▼搴忓湪涓嶅悓镎崭綔绯荤粺涓婄殑涓镊存с
Swing镄勭壒镣逛箣涓鏄鍙瀹氩埗镐ч珮銆傜敤鎴峰彲浠ラ氲繃淇鏀圭粍浠剁殑棰滆壊銆佸瓧浣撱佽竟妗嗙瓑灞炴э纴镊瀹氢箟绐楀彛镄勫栬傦绂钖屾椂锛孲wing鎻愪緵浜嗗緢澶氩睘镐у拰鏂规硶锛屽彲浠ュ圭粍浠剁殑琛屼负杩涜屽畾鍒躲傚彟涓涓鐗圭偣鏄杞婚噺绾с傜浉姣斾簬AWT锛堟娊璞$獥鍙e伐鍏峰寘锛夛纴Swing涓嶉渶瑕佽皟鐢ㄦ搷浣灭郴缁熺殑链鍦痨PI锛岃屾槸瀹屽叏鐢盝ava浠g爜瀹炵幇锛屽洜姝ゆ洿涓虹伒娲伙纴钖屾椂涔熸洿涓哄崰鐢ㄨ祫婧愬皯銆
Swing骞挎硾搴旂敤浜嶫ava锲惧舰鐣岄溃寮鍙戙傛棤璁烘槸妗岄溃杞浠惰缮鏄娓告垙寮鍙戯纴Swing閮藉彲浠ユ彁渚涗赴瀵岀殑缁勪欢鍜屽竷灞绠$悊鍣锛屾柟渚垮紑鍙戣呭疄鐜版洿锷犵编瑙伞佹槗鐢ㄧ殑鐣岄溃銆傚彟澶栵纴鍦ㄤ紒涓氱骇搴旂敤棰嗗烟锛孲wing涔熻鐢ㄦ潵寮鍙戜竴浜涘㈡埛绔搴旂敤绋嫔簭锛屽侲RP銆丆RM绛夈

6. java怎么做swing界面

swing做界面,一般需要一种基本知识:

一:关于布局的知识,常用的布局要熟悉,比如边界布局,流式布局,绝对布局,网格布局等. 布局决定了组件(按钮,文本框,下拉框等)所在的位置

二:关于事件响应机制,比如点击按钮事件,如何响应.

三:一些常用的组件,按钮, 文本框, 下拉框,复选按钮, 单选按钮, 等

举例: 简单的代码,实现给窗口随机更换背景色

importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;

{

publicDemoFrame(){
JButtonjb1=newJButton("点击换背景色");//定义按钮组件
jb1.addActionListener(this);//给按钮添加事件响应机制,按钮点击时执行actionPerformed方法
add(jb1);//把组件添加到窗口
setLayout(newFlowLayout());//流式布局
setTitle("Color");//窗口标题
setSize(300,200);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//点击关闭时退出系统
setVisible(true);//窗口可见
}
publicstaticvoidmain(String[]args){//main方法,启动窗口
newDemoFrame();//创建窗口
}

publicvoidactionPerformed(ActionEvente){//当按钮被点击时,执行下面的代码
//随机颜色,并设置成为窗口的背景色
getContentPane().setBackground(newColor((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256)));
}
}

阅读全文

与java图形界面swing相关的资料

热点内容
kindle能看pdf吗 浏览:351
压缩机排气过热度报警 浏览:441
android设计结构 浏览:384
vivo手机在哪个文件夹 浏览:361
劲舞团的歌曲怎么解压 浏览:836
创维小度ai盒子支持什么app 浏览:826
修复加密盘 浏览:528
为什么推广app那么多钱 浏览:899
zip压缩文件下载 浏览:551
移动app语音在哪里 浏览:481
程序员入职签约时间 浏览:718
python操作客户端软件的库 浏览:146
第10胸椎压缩性骨折 浏览:646
python和matlab量化 浏览:78
文件夹右键闪退怎么解决 浏览:728
安卓平板如何连接有线投影仪 浏览:655
什么app是卖玉镯 浏览:490
把单个ipk编译进openwrt 浏览:23
国家反诈中心app怎么防诈骗 浏览:836
如何用手机云服务器进入游戏 浏览:513