黑马程序员-------JavaGUI
来源:互联网 发布:支持mac的游戏 编辑:程序博客网 时间:2024/05/29 14:53
------------- java培训、android培训、java博客、java学习型技术博客、期待与您交流! --------------
Awt和Swing
- java.Awt:Abstract Window ToolKit (抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件。
- javax.Swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。
继承关系图
布局管理器
常见的布局管理器:
- FlowLayout(流式布局管理器)
从左到右的顺序排列。
Panel默认的布局管理器。
- BorderLayout(边界布局管理器)
东,南,西,北,中
Frame默认的布局管理器。
- GridLayout(网格布局管理器)
规则的矩阵
- CardLayout(卡片布局管理器)
选项卡
- GridBagLayout(网格包布局管理器)
非规则的矩阵
简单的窗体创建过程:
Frame f = new Frame(“my window”);f.setLayout(new FlowLayout());f.setSize(500,400);//设置窗体大小f.setLocation(300,200);//设置窗体出现在屏幕的位置f.setVisible(true);
import java.awt.*;import java.awt.event.*;class FrameDemo{//定义该图形中所需的组件的引用。private Frame f;private Button but;FrameDemo(){init();}public void init(){f = new Frame("my frame");//对frame进行基本设置。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(){public void windowClosing(WindowEvent e){System.exit(0);}});//让按钮具备退出程序的功能/*按钮就是事件源。那么选择哪个监听器呢?通过关闭窗体示例了解到,想要知道哪个组件具备什么样的特有监听器。需要查看该组件对象的功能。 通过查阅button的描述。发现按钮支持一个特有监听addActionListener。*/but.addActionListener(new ActionListener(){private int count = 1;public void actionPerformed(ActionEvent e){//System.out.println("退出,按钮干的");//System.exit(0);//f.add(new Button("Button-"+(count++)));//f.setVisible(true);//f.validate();//System.out.println(e.getSource());Button b = (Button)e.getSource();Frame f1 = (Frame)b.getParent();f1.add(new Button("button-"+count++));f1.validate();}});}public static void main(String[] args) {new FrameDemo();}}
事件监听机制流程图
菜单继承体系
import java.awt.*;import java.awt.event.*;class MyMenuDemo {private Frame f;private MenuBar mb;private Menu m,subMenu;private MenuItem closeItem,subItem;MyMenuDemo(){init();}public void init(){f = new Frame("my window");f.setBounds(300,100,500,600);f.setLayout(new FlowLayout());mb = new MenuBar();m = new Menu("文件");subMenu = new Menu("子菜单");subItem = new MenuItem("子条目");closeItem = new MenuItem("退出");subMenu.add(subItem);m.add(subMenu);m.add(closeItem);mb.add(m);f.setMenuBar(mb);myEvent();f.setVisible(true);}private void myEvent(){closeItem.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public static void main(String[] args) {new MyMenuDemo();}}
------------- java培训、android培训、java博客、java学习型技术博客、期待与您交流! --------------
- 黑马程序员-------JavaGUI
- 黑马程序员-javaGUI编程
- 黑马程序员:JavaGUI
- 黑马程序员----JavaGUI
- 黑马程序员--javaGUI图形编程
- 黑马程序员-javaGUI编程总结
- 黑马程序员——javaGUI编程
- 黑马程序员-JavaGUI图形化视图
- JavaGUI
- JavaGUI
- javaGUI
- JavaGUI
- javaGUI
- JavaGUI
- javaGUI
- JavaGUI-SimpleFrameTest
- JavaGUI-Swing
- JavaGUI编程
- ubuntu terminal 关闭防火墙
- 软件安全试验2
- PopupWindow的使用
- c++开源机器学习库
- js 没有对象或者 重复创建对象的报错
- 黑马程序员-------JavaGUI
- 将若干字符串按字母顺序(由小到大)输出
- “1000瓶药水,其中至多有1瓶剧毒,小狗服完药20小时后才能判断是否中毒。现在给你10只小狗、在24小时内、通过小狗试药的方式找出哪瓶药有毒或者全部无毒”
- 免费iOS第三方推送工具Urban Airship使用教程
- Java中关于异常处理的10个最佳实践
- 设计模式-策略模式
- OpenCL--vs2010+OpenCL(32+64)配置
- 经典的机器学习方面源代码库(非常全,数据挖掘,计算机视觉,模式识别,信息检索相关领域都适用的了)
- 顺利建立链表