- 浏览: 1570708 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
GUI(图形用户界面)
简单Frame
键盘和鼠标事件
import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /** * GUI(图形用户界面) * Graphical User Interface(图形用户接口) * 用图形的方式,来显示计算机操作的界面,这样更方便更直观. * * CLI * Command Line User Interface(命令行用户接口) * 就是常用的Dos命令行操作. * 需要记忆一些常用的命令.操作更直观. * * 举例: * 比如:创建文件夹,或者删除文件夹等 * md haha del haha * * * Java的GUI提供的对象都存在 java.Awt 和 javax.Swing 两个包中. * * java.Awt:Abstract Window ToolKit(抽象 窗口工具包) * 需要调用本地系统方法实现功能.属重量级控件 (跨平台不够强) * * java.Swing:在AWT的基础上,建立的一套图形界面系统,器重提供了更多的组件, * 而且完全由java实现,增强了移植性,属于轻量级控件.(跨平台很好) * * java.swt: IBM 公司开发 Eclipse 用的组件工具 可以Eclipse网站下载后就可以使用了. * * * 布局管理器 * 1)容器中的组件的排放方式,就是布局. * 2)常见的布局管理器 * FlowLayout(流式布局管理器) * 从左到右的顺序排列 * Panel默认的布局管理器 * BorderLayout(辩解布局管理器) * 东 南 西 北 中 * Frame 默认的布局管理器 * 不指定布局方式,默认 满屏覆盖,在添加一个 也是 满屏覆盖 * GridLayout (网格布局管理器) * 规则的矩阵 * CardLayout (卡片布局管理器) * 选项卡 * GridBagLayout(网格包布局管理器) * 非规则的矩阵 * * 事件监听机制组成 * 事件源: * 事件:Event * 监听器:Listener * 时间处理:(引发事件后处理方式) * * 事件源:就是awt包或者swing包中的那些图像界面组件. * 事件:每个事件源都有自己特定的对应时间和共性时间. * 监听器:可以出发某一个事件的动作都已经封装到监听器中. */ public class GuiDemo { public static void main(String[] args) { Frame f=new Frame("my awt"); f.setSize(500,400); f.setLocation(300,200); f.setLayout(new FlowLayout()); Button b=new Button("我是一个按钮"); f.add(b); f.addWindowListener(new MyWin()); f.setVisible(true); System.out.println("Hello world!"); } } //因为接口WindowLinstener中的所有方法都被子类 WindowAdapter实现了,. //并且覆盖了其中的所有方法,那么我们只能继承 WindowAdapter 覆盖我们的方法即可 class MyWin extends WindowAdapter{ @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub //System.out.println("Window closing"+e.toString()); System.out.println("我关了"); System.exit(0); } @Override public void windowActivated(WindowEvent e) { //每次获得焦点 就会触发 System.out.println("我活了"); //super.windowActivated(e); } @Override public void windowOpened(WindowEvent e) { // TODO Auto-generated method stub System.out.println("我开了"); //super.windowOpened(e); } }
简单Frame
import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class FrameDemo { //定义该图像中所需要的组件的引用 private Frame f; private Button but; FrameDemo(){ init(); } public void init(){ f=new Frame("my freame"); f.setBounds(300,100,600,500); f.setLayout(new FlowLayout()); //采用流式布局 but=new Button("my button"); //将组件添加到 frame中 f.add(but); //加载一下窗体上的事件. myEvent(); //显示窗体 f.setVisible(true); } private void myEvent(){ f.addWindowListener(new WindowAdapter(){ @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub //super.windowClosing(e); System.exit(0); } }); //让按钮具备退出程序的功能 /* * 按钮就是事件源 * 那么选择那个监听器呢? * 通过关闭窗体实例了解到,下个要知道那个组件具备什么样的特有监听器, * 需要查看该组件对象的功能. */ //添加一个活动监听 but.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub System.out.println("退出, 按钮干的"); System.exit(0); } }); } public static void main(String[] args) { FrameDemo f=new FrameDemo(); } }
键盘和鼠标事件
import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class MouseAndKeyEvent { private Frame f; private Button but; private TextField tf; public MouseAndKeyEvent() { init(); } private void init(){ f=new Frame("me frame"); f.setBounds(300, 200, 600, 500); f.setLayout(new FlowLayout()); tf=new TextField(20); but=new Button("my Botton"); f.add(tf); f.add(but); event(); f.setVisible(true); } private void event(){ f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub System.exit(0); } }); tf.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e){ int code=e.getKeyCode(); if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9)){ System.out.println(code+"....非法的输入"); e.consume(); //不执行加入文本框. } } }); but.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub System.out.println("actionPerformed 活动一次"); } }); but.addMouseListener(new MouseAdapter() { private int count=0; private int clickCount=1; public void mouseEntered(MouseEvent e){ System.out.println("鼠标进入到改组件"+count++); } public void mouseClicked(MouseEvent e){ if(e.getClickCount()==2){ System.out.println("双击动作"); }else System.out.println("点击动作"+clickCount++); } }); //添加 键盘事件 but.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e){ System.out.println(e.getKeyChar()+"..."+e.getKeyCode()); System.out.println(KeyEvent.getKeyText(e.getKeyCode())+"..."+e.getKeyCode()); //enter 就退出 /*if(e.getKeyCode()==KeyEvent.VK_ENTER) System. exit(0);*/ //ctrl + Enter 发送消息 if(e.isControlDown() && e.getKeyCode()==KeyEvent.VK_ENTER){ System.out.println("我要发送消息!"); } } }); } public static void main(String[] args) { // TODO Auto-generated method stub new MouseAndKeyEvent(); } }
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 935public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2220经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5584package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 907import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1011/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 949//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1778更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1367import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 773import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2360import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 873// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1122import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 758import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1103import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3837import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 920/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 971import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1791Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 959/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2164package out; import ja ...
相关推荐
Java_GUI图形化用户界面编程的基础知识
AWT中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。...虽然SUN不接纳SWT/JFace作为Java中的一种图形API标准,但它虽然借着Eclipse的优异表现,以不可阻挡之势向前发展着。
GUI:Graphics User Interface.图形用户界面 使用图形的方式借助菜单,按钮等标准界面元素和鼠标操作,来帮助用户方便的向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形方式显示给用户。即:可以通过...
MATLAB的图形界面编程书籍, 精通GUI, 很有用 作者:施晓红 周佳 出版社:北京大学出版社 出版日期:2003年1月
Matlab GUI图形界面编程经典教材,施晓红主编。
java的GUI编程(Graphic User Interface,图形用户接口),是在它的抽象窗口工具箱(Abstract Window Toolkit,AWT)上实现 的,java.awt是AWT的工具类库,其中包括了丰富的图形、用户界面元件和布局管理器的支持。
"精通GUI图形界面编程(MATLAB) part1"的另一部分,由于文件较大,所以分成两个了,见谅啊
如何进行JavaGUI图形用户界面编程.doc
Python 第三方组件Tkinter实现图形界面化
一本介绍MATLAB中GUI界面的专业书籍
java GUI 学习java比用的东西
java图形界面编程可视化组件插件,只需要把文件解压 复制到myeclipse的安装路径下,修改link文件中的路径即可
本书介绍了java图形界面(GUI)编程的基础知识,全面,详细,生动。
学习异常处理、线程、图形用户界面设计、 网络通信等内容。使学生的专业知识进一步完善和丰富,为将来的开发和研究工 作打下一定的基础。 1.2. 课程任务 (1) 巩固和加深学生对 Java 语言课程的基本知识的理解和...
java-gui(界面组件案例大全)(内含139个完整Demo) 来源于Oracle官网(原Sun网站)采集得到的java界面编程案例共139个,希望对学习java-gui的童鞋有所帮助
1. GUI:Graphical User Interface 图形用户界面(相对于很久以前的”命令行界面“) 2. 作用:使用Java语言,进行桌面应用程序技术的开发 3. Java GUI的几种技术选择 AWT:Java最早的界面库 Swing:对AWT的扩展,轻...