黑马程序员_java_GUI

来源:互联网 发布:关于中秋的段子知乎 编辑:程序博客网 时间:2024/05/12 06:49

  ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------


一、GUI的布局方式



FlowLayout(流式布局管理器)
从左到右的顺序排列
Panel默认的布局管理器


BorderLayout(边界布局管理器)
东,南,西,北,中
Frame默认的布局管理器


GridLayout(网格布局管理器)
规则的矩阵


CardLayout(卡片布局管理器)
选项卡


GridBagLayout(网格包布局管理器)
非规则的矩阵


二、Frame类的基本应用


/*
创建图形化界面:
1,创建frame窗体
2,对窗体进行基本设置。
比如大小,位置,布局。
3,定义组件
4,将组件通过窗体的add方法添加到窗体中。
5,让窗体显示,通过setVisible(true);




时间监听机制的特点:
1,事件源
2,事件
3,监听器
4,事件处理


事件源:就是awt包或者swing包中的那些图形界面组件。
事件:每一个时间源都有自己特有的对应事件和共性事件。
监听器:将可以出发某一个事件的动作(不止一个动作)都已经封装了监听器中。


以上三者,在java中都已经定义好了。
直接获取其对象来用就可以了。
我们要做的事情是:对产生的动作进行处理。


*/


import java.awt.Frame;import java.awt.Button;import java.awt.FlowLayout;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;class AwtFrameDemo {public static void main(String[] args) {Frame f = new Frame("我的窗体"); //创建一个窗体f.setSize(300, 400); //设置窗体的大小f.setLocation(300, 500); //设置窗体在界面中的位置f.setLayout(new FlowLayout()); //设置布局方式为流式布局方式Button b = new Button("我的第一个按钮"); //设置一个按钮f.add(b); //将按钮和窗体相关联//因为WindowListerer的子类WindowAdapter已经实现了WindowListener//并覆盖了其中的所有方法,那么我只要继承自WindowAdapter覆盖我需要的方法就行了f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.out.println("我关");System.exit(0);}public void windowActivated(WindowEvent e){System.out.println("我活了");}public void windowOpened(WindowEvent e){System.out.println("我被打开了,哈哈哈哈");}});f.setVisible(true); //设置窗体为可见。}}


三、ActionListener类


import java.awt.Frame;import java.awt.Button;import java.awt.FlowLayout;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.event.ActionEvent;import java.awt.event.WindowListener;import java.awt.event.ActionListener;class FrameDemo {private Frame f; //窗体对象private Button but; //按钮对象FrameDemo(){init();}//写一个窗体方法public void init(){f = new Frame("我的窗口"); //创建一个窗口f.setBounds(100, 300, 500, 4000); //设置窗口离上下的边距距离和窗口的长和宽f.setLayout(new FlowLayout()); //使用流式布局but = new Button("按钮"); //创建一个按钮f.add(but); //让窗体和按钮长生联系actionDemo();f.setVisible(true); //显示窗体}//实现监听public void actionDemo(){f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0); //对窗体实现关闭}});/*让按钮具备退出程序的功能按钮就是事件源那么选择哪个监听器呢:通过关闭窗体示例了解到,想要知道哪个组件具备什么样的特有监听器。需要查看该组件对象的功能。通过查阅Button的描述,发现按钮支持一个特有监听addActionListener*/but.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});}public static void main(String[] args) {new FrameDemo();}}





四、MenuBar、Menu、MenuItem类的基本应用

import java.awt.Frame;import java.awt.MenuBar;import java.awt.Menu;import java.awt.MenuItem;import java.awt.FlowLayout;import java.awt.event.WindowEvent;import java.awt.event.WindowAdapter;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;class MenuDemo {private Frame f; //创建窗体对象private MenuBar mb; //创建菜单条对象private Menu m, me; //创建菜单栏private MenuItem mi, mit; //创建菜单项MenuDemo(){init();}private void init(){f = new Frame("我的窗体"); //实例化窗体对象f.setBounds(300, 300, 500, 600); //设置窗体大小f.setLayout(new FlowLayout());mb = new MenuBar(); //实例化菜单条m = new Menu("菜单");me = new Menu("子菜单"); //实例化菜单mi = new MenuItem("退出"); //示例化菜单项mit = new MenuItem("开始");me.add(mit); //将菜单项放进菜单中m.add(me); //将子菜单房间菜单中m.add(mi); //将菜单项房间菜单中mb.add(m); //将菜单放进菜单条中f.setMenuBar(mb); //将菜单条和窗口相关联myEvent(); //调用监听方法f.setVisible(true); //让窗口可见}private void myEvent(){f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e){System.exit(0);}});mi.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});}public static void main(String[] args) {new MenuDemo();}}

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------


详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>

0 0
原创粉丝点击