黑马程序员--2015.6.29java基础笔记---GUI总结
来源:互联网 发布:json格式转换工具 编辑:程序博客网 时间:2024/05/21 14:51
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1.GUI用户图形接口
和用户进行交互的方式:DOS,GUIjava为GUI提供的工具包:
a.java.Awt
抽象窗口工具包,调用本地系统方法实现功能。属于重量级控件
b.javax.Swing
完全由java实现的,增强移植性,属于轻量级控件。
Container:容器,该组件可通过add添加其他组件
2.布局管理器:就是管理组件的排放方式
3.事件监听机制:
a.事件源:就是awt包或者Swing包中的图形界面组件
b.事件:每一个事件源都有自己特有对应事件和共性事件
c.监听器:将可触发某一事件动作(不止一个动作)都已经封装到了监听器中。
d.处理方式:自定义
4.//创建一个java视图的小例子
import java.awt.*;import java.awt.event.*;class AwtDemo{ public static void main(String[] args) { Frame f = new Frame("my java"); f.setLocation(400,200); f.setSize(500,400); f.setLayout(new FlowLayout()); Button b = new Button("push me"); f.add(b); f.setVisible(true); //对窗体进行监听 f.addWindowListener(new WindowAdapter() { //窗体关闭 public void windowClosing(WindowEvent e) { System.out.println("窗口关闭"); System.exit(1); } }); System.out.println("java GUI 示例"); } }
5.窗体,按钮都具备监听事件
/* 创建一个能关闭的窗体。 在构造函数时,就初始化。 添加Button,使其也具备退出功能。*/import java.awt.*;import java.awt.event.*;class FrameDemo{ private Frame f; private Button b; FrameDemo() { init(); } //初始化窗体 private void init() { f = new Frame("my Frame"); //设置位置,和大小 f.setBounds(400, 200, 500,400); f.setLayout(new FlowLayout()); b = new Button("push me!"); f.add(b); myEvent(); f.setVisible(true); } //事件 private void myEvent() { //点击窗体关闭按钮,退出程序 f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.out.println("窗体关闭程序"); System.exit(0); } }); //点击按钮,让其具备退出的程序的功能。 b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { System.out.println("按钮关闭程序"); System.exit(0); } }); } public static void main(String[] args) { FrameDemo f = new FrameDemo(); }}
6.模拟windows,打开“计算机”页面。
/* 模拟windows,打开“计算机”页面。 可以通过地址栏,输入地址,找到指定的文件列表。 若是地址错误,则弹出一个dialog对话框。 若是地址正确,则将此目录下的文件和目录输出*/import java.awt.*;import java.awt.event.*;import java.io.*;class MyWindowDemo{ private Frame f; private Button but; private TextField tf; private TextArea ta; private Dialog d; private Label lab; private Button okBut; MyWindowDemo() { init(); } //窗口初始化 private void init() { f = new Frame("my window"); f.setBounds(300,100,600,500); f.setLayout(new FlowLayout()); tf = new TextField(60); but = new Button("转到"); ta = new TextArea(25,70); //不操作此窗体(对话框),f则无法执行 d = new Dialog(f,"提示信息_self",true); d.setBounds(400,200,240,150); d.setLayout(new FlowLayout()); lab = new Label(); okBut = new Button("确定"); d.add(lab); d.add(okBut); f.add(tf); f.add(but); f.add(ta); myEvent(); f.setVisible(true); } //监听事件 private void myEvent() { //按钮监听 but.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { textFiled_method(); } }); //单行文本组件监听器 tf.addKeyListener(new KeyAdapter(){ //当按下回车键时,进行判断。 public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_ENTER) { textFiled_method(); } } }); //关闭程序 f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.exit(0); } }); //关闭对话框 d.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { d.setVisible(false); } }); //按下对话框确定按钮,则隐藏对话框 okBut.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { d.setVisible(false); } }); //弹出对话框后,按下回车键,则隐藏对话框 okBut.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_ENTER) { d.setVisible(false); } } }); } /*按下按钮触发的事件 获取textField的内容,并判断是否是目录。 是:列出目录名,并添加到textArea中 否:显示对话框 */ private void textFiled_method() { String path = tf.getText(); File f = new File(path); if(f.exists() && f.isDirectory()) { ta.setText(""); String[] names = f.list(); for(String name:names) { ta.append(name+"\r\n"); } } else { String info = "您输入的信息"+path+"错误,请重输"; lab.setText(info); d.setVisible(true); } } public static void main(String[] args) { new MyWindowDemo(); }}
7.设置一个窗口,其中包含,菜单栏
/* 设置一个窗口 其中包含,菜单栏,即: 文件(f) 子菜单 子条目 退出 */import java.awt.*;import java.awt.event.*;class MyMenuDemo{ private Frame f; private Menu m,subMenu; private MenuBar mb; private MenuItem closeItem,subItem; MyMenuDemo() { init(); } //窗口初始化 private void init() { f = new Frame("my window"); f.setBounds(300,100,600,500); f.setLayout(new FlowLayout()); mb = new MenuBar(); m = new Menu("文件(F)"); subMenu = new Menu("子菜单"); closeItem = new MenuItem("退出"); subItem = new MenuItem("子条目"); mb.add(m); subMenu.add(subItem); m.add(subMenu); m.add(closeItem); f.setMenuBar(mb); myEvent(); f.setVisible(true); } //监听事件 private void myEvent() { //关闭程序 f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.exit(0); } }); closeItem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { System.exit(0); } }); } public static void main(String[] args) { new MyMenuDemo(); }}
0 0
- 黑马程序员--2015.6.29java基础笔记---GUI总结
- 黑马程序员--java基础--GUI总结
- 黑马程序员--Java基础总结--GUI
- 黑马程序员-java基础 GUI
- 黑马程序员-->Java基础-->GUI
- 黑马程序员--java基础--GUI
- 黑马程序员 JAVA基础--GUI
- 黑马程序员---java基础--GUI
- 黑马程序员-----Java基础-----GUI
- 黑马程序员-Java基础:GUI
- 黑马程序员——java编程GUI基础总结
- 黑马程序员:Java基础总结----GUI图形化界面
- 黑马程序员:Java基础总结----GUI&网络&IO综合开发
- 黑马程序员-Java基础总结12——GUI编程
- 黑马程序员 java基础24天 GUI编程学习总结
- 黑马程序员---Java基础--22天(GUI)
- 黑马程序员---java基础之GUI
- 奋斗黑马程序员----Java GUI基础讲解
- Linux下找不到IFCONFIG命令---ifconfig
- 异常捕获不抛出,Spring事务无法回滚【转载】
- 解决ViewPager嵌套Fragment内部点击事件无响应问题
- 产品设计&软件设计的哲学
- iOS--内存管理和ARC
- 黑马程序员--2015.6.29java基础笔记---GUI总结
- java学习之旅46--面向对象_19_多态_内存分析
- iOS 在一个UILabel里显示不同的颜色,给文字加下划线
- 【网易公开日】《梦幻西游》手游服务器如何实现200万玩家同时在线?(技术篇)
- CSS hack
- POJ1113凸包
- Handler实现与机制 && Blocking Queue && IdleHandler使用
- iOS-协议
- sync、fsync、fdatasync、fflush函数