JavaSE基础:GUI
2012-12-29 22:44
134 查看
------- android培训、java培训、期待与您交流! ----------
窗体是一个独立的进程。
2、对窗体进行基本设置(大小、位置、布局)
3、定义组件
4、将组件通过add方法添加到窗体
5、让窗体显示:setVisible(true) ;
2、组件
3、监听器:将可以出发某一事件的动作(不止一个)都已经封装到了监听器中。
4、事件处理
addActionListener(ActionListener al);
------- android培训、java培训、期待与您交流! ----------
GUI图形用户界面
两个包:java.AWT.*; java.Swing.*;窗体是一个独立的进程。
创建图形化界面:
1、创建Frame窗体2、对窗体进行基本设置(大小、位置、布局)
3、定义组件
4、将组件通过add方法添加到窗体
5、让窗体显示:setVisible(true) ;
事件监听机制特点:
1、事件源:就是awt或者swing包中的那些图形界面组件。2、组件
3、监听器:将可以出发某一事件的动作(不止一个)都已经封装到了监听器中。
4、事件处理
事件:每一个事件源都有自己特有的对应事件和共性事件
addWindowListener(WindowListener wl);addActionListener(ActionListener al);
setPreferredSize用于布局管理器。
在使用布局管理器的时候,可以不使用setSize(),因为布局管理器会自动调用组件的setSize方法设置组件的大小。即使用户调用setSize方法设置组件大小,最终可能被覆盖。参照下面的布局管理器了解被覆盖的过程。绘制图形小程序
/* * 新建一个窗体Frame * 新建两个按钮,添加进窗体,使用默认的边界布局 * 为按钮添加监听机制,通过按钮设置shape变量,并调用画布的repaint方法 * 新建一个画布类继承Canvas,重写paint方法,根据不同的shape值,使用方法在画布绘制图形 * 将画布添加进窗体默认中间布局 */ public class SimpleDraw { private final String RECT_SHAPE = "rect"; private final String OVAL_SHAPE = "oval"; private Frame f = new Frame("简单绘图"); private Button rect = new Button("绘制矩形"); private Button oval = new Button("绘制圆形"); private MyCanvas drawArea = new MyCanvas(); // 用于保存需要绘制什么图形的变量 private String shape = ""; public void init() { Panel p = new Panel(); rect.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 设置shape变量为RECT_SHAPE shape = RECT_SHAPE; // 重画MyCanvas对象,即调用它的update方法 drawArea.repaint(); } }); oval.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 设置shape变量为OVAL_SHAPE shape = OVAL_SHAPE; // 重画MyCanvas对象,即调用它的update方法 drawArea.repaint(); } }); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent arg0) { System.exit(1); } }); p.add(rect); p.add(oval); drawArea.setPreferredSize(new Dimension(250 , 180));//设置大小 f.add(drawArea); f.add(p , BorderLayout.NORTH); f.pack(); f.setVisible(true); } public static void main(String[] args) { new SimpleDraw().init(); } class MyCanvas extends Canvas { // 重写Canvas的paint方法,实现绘画 public void paint(Graphics g) { Random rand = new Random(); if (shape.equals(RECT_SHAPE)) { // 设置画笔颜色 g.setColor(new Color(220, 100, 80)); // 随机地绘制一个矩形框 g.drawRect( rand.nextInt(200) //---随机数介于0~200之间,不包括200 , rand.nextInt(120) , 40 , 60); } if (shape.equals(OVAL_SHAPE)) { // 设置画笔颜色 g.setColor(new Color(80, 100, 200)); // 随机地填充一个实心圆形 g.fillOval( rand.nextInt(200) , rand.nextInt(120) , 40 , 40); } } } }
------- android培训、java培训、期待与您交流! ----------
相关文章推荐
- javaSE基础编程——GUI窗体
- javaSE基础编程——GUI窗体设计之记事本(使用监听器)
- 黑马程序员_JavaSE基础知识总结十七:GUI界面
- JavaSe基础XX19——GUI
- JavaSE基础学习笔记-异常
- Eclipse插件开发之添加简单的GUI元素-Java基础-Java-编程开发
- JAVASE基础-day16(集合之List集合)
- 黑马程序员——javase基础语法
- 黑马程序员----【javaSE基础】个人总结--eclipse常用快捷键
- Java基础——GUI
- 黑马程序员----JavaSE一些常用基础知识点记录-学习日记
- JavaSE基础学习笔记-提高篇-JDK1.5新特性
- JavaSe总结-02--Java基础语法(1)
- JavaSe基础XX15——线程_1
- 黑马程序员_JavaSE基础知识总结十九:正则表达式初步
- javaSE基础21之String VS StringBuffer
- 黑马程序员:Java基础总结----GUI图形化界面
- JAVASE基础(三)
- C#编写Unity基础GUI之按钮控件