java——GUI
来源:互联网 发布:淘宝巴黎心店卖假货 编辑:程序博客网 时间:2024/05/19 00:14
GUI是图形用户界面的英文缩写,说点直白一点GUI就是窗口、按钮等元素的总称。java中实现GUI是利用java.awt包及其子包进行性编程的。
在java.awt包中component和container是的它的两个核心,前者包括了Button、TextField等实现类;后者是component的子类,但是后者是一些Frame、panel等容器实现类,这些容器元素可以容纳Component对象。
说的简单一点就是容器对象中可以添加Button、TextField等这些对象。下图中也进一步说明了这一点。
布局管理器
包含了FlowLayout,BorderLayout,GridLayout,布局管理器主要是管理添加到容器中的元素的布局。
就像一间房子,买了好多的家具,至于怎么摆放这些家具,完全是由这个房子的主人去决定的,而这个房子的主人就是布局管理器。
举例:设置7个按钮,利用FlowLayout居中排列。
import java.awt.*;public class TestFlowLayout2 { public static void main(String args[]) { Frame f = new Frame("Java Frame"); FlowLayout l = new FlowLayout(FlowLayout.CENTER, 20, 40); f.setLayout(l); f.setLocation(300,400); f.setSize(300,200); f.setBackground(new Color(204,204,255)); for(int i = 1; i<=7; i++){ f.add(new Button("BUTTON")); } f.setVisible(true); }}
事件监听
为容器中的Button等元素添加是事件,并利用实现对象监听器接口的对象,进行监听。
举例:点击键盘“箭头向上”键,就在cmd窗口中打印“up”。
<pre name="code" class="java">import java.awt.*;import java.awt.event.*;public class TestKey{public static void main(String arg[]){new KeyFrame().launchFrame();}}class KeyFrame extends Frame{public void launchFrame(){setSize(200,200);setLocation(300,300);addKeyListener(new MykeyMon()); //注册事件setVisible(true);}}class MykeyMon extends KeyAdapter{ //监听器类public void keyPressed(KeyEvent e){int keyCode=e.getKeyCode();if (keyCode==KeyEvent.VK_UP){System.out.println("up"); //监听器动作}}}
监听器类创建方法:
内部类:在外围类的内部书写一个类,方便此类对成员变量和成员方法的访问。
对上面的例子的改造。
import java.awt.*;import java.awt.event.*;public class TestKey{public static void main(String arg[]){new KeyFrame().launchFrame();}}class KeyFrame extends Frame{public void launchFrame(){setSize(200,200);setLocation(300,300);addKeyListener(new MykeyMon());setVisible(true);}class MykeyMon extends KeyAdapter{ //内部类public void keyPressed(KeyEvent e){int keyCode=e.getKeyCode();if (keyCode==KeyEvent.VK_UP){System.out.println("up");}}}}
匿名类:创建时用New语句来声明它们。
对上面的例子的改造。
import java.awt.*;import java.awt.event.*;public class TestKey{public static void main(String arg[]){new KeyFrame().launchFrame();}}class KeyFrame extends Frame{public void launchFrame(){setSize(200,200);setLocation(300,300);this.addKeyListener(new MykeyMon(){public void keyPressed(KeyEvent e){ //匿名类int keyCode=e.getKeyCode();if (keyCode==KeyEvent.VK_UP){System.out.println("up");}}});setVisible(true);}}
总结:1.GUI通过java.awt包及其子包实现。2.容器元素中添加Button等这些元素。3.布局管理器管理容器中元素的布局。4.容器中的元素可以添加事件监听。
5 0
- java——GUI
- Java——GUI
- Java基础—GUI
- Java基础——GUI
- Java基础——GUI
- Java Base —— GUI
- 黑马程序员—Java GUI
- java基础—GUI概述
- 多线程的GUI—Java
- Java生涯——Java基础---GUI
- JAVA GUI牛刀小试——记事本
- 黑马程序员——java图形界面GUI
- 黑马程序员——java中的 GUI
- 黑马程序员——Java基础---GUI
- 黑马程序员——Java基础---GUI
- 黑马程序员——Java/GUI
- 黑马程序员——Java基础---GUI
- java—— GUI(用户图形界面)
- nginx1.7 添加lua
- JAVA并行异步编程线程池+FutureTask
- ios-通过NSCalendar来获取当前时间的年、月、日、时、分、秒
- 基于linux的OLED移植过程
- SQL字符串基本操作小集
- java——GUI
- JMX经验点滴
- 提升HBase写性能
- java多线程(二)线程的互斥
- 线性时间内筛素数和欧拉函数
- hdu 1241 Oil Deposits
- 赛门铁克250-316大脑转储
- wince 获取项目当前路径
- oracle 可传输表空间