黑马程序员_Java(GUI(图形界面编程))
2015-05-24 18:59
603 查看
-------
android培训、java培训、期待与您交流! ----------
付出不一定有回报,但是不付出绝对没有回报!
1,GUI概述
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。然而这界面若要通过在显示屏的特定位置,以”各种美观而不单调的视觉消息“提示用户”状态的改变“,势必得比简单的消息呈现花上更多的计算能力。
2:GUI基本内容
(1)用户图形界面
GUI:方便直观
CLI:需要记忆一下命令,麻烦
(2)两个包:
java.awt:和系统关联较强
javax.swing:纯Java编写
(3)GUI的继承体系
组件:组件就是对象
容器组件:是可以存储基本组件和容器组件的组件。
基本组件:是可以使用的组件,但是必须依赖容器。
(4)事件监听机制
A:事件源
B:事件
C:事件处理
D:事件监听
(5)适配器模式(理解)
A:接口
B:抽象适配器类
C:实现类
(6)案例:
A:创建窗体案例
B:窗体关闭案例
C:窗体添加按钮并对按钮添加事件案例。
界面中的组件布局。
D:把文本框里面的数据转移到文本域
E:更改背景色
F:设置文本框里面不能输入非数字字符
G:一级菜单
H:多级菜单
(7)Netbeans的概述和使用
A:是可以做Java开发的另一个IDE工具。
B:使用
A:四则运算
a:修改图标
b:设置皮肤
c:设置居中
d:数据校验
B:登录注册
android培训、java培训、期待与您交流! ----------
付出不一定有回报,但是不付出绝对没有回报!
1,GUI概述
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。然而这界面若要通过在显示屏的特定位置,以”各种美观而不单调的视觉消息“提示用户”状态的改变“,势必得比简单的消息呈现花上更多的计算能力。
2:GUI基本内容
(1)用户图形界面
GUI:方便直观
CLI:需要记忆一下命令,麻烦
(2)两个包:
java.awt:和系统关联较强
javax.swing:纯Java编写
(3)GUI的继承体系
组件:组件就是对象
容器组件:是可以存储基本组件和容器组件的组件。
基本组件:是可以使用的组件,但是必须依赖容器。
(4)事件监听机制
A:事件源
B:事件
C:事件处理
D:事件监听
(5)适配器模式(理解)
A:接口
B:抽象适配器类
C:实现类
(6)案例:
A:创建窗体案例
package cn.itcast_01; import java.awt.Dimension; import java.awt.Frame; import java.awt.Point; public class FrameDemo2 { public static void main(String[] args) { // 创建对象 Frame f = new Frame("方法调用的前后关系"); // f.setVisible(true); // try { // Thread.sleep(3000); // } catch (InterruptedException e) { // e.printStackTrace(); // } // // f.setSize(400, 300); // // Dimension(int width, int height) // Dimension d = new Dimension(400, 300); // f.setSize(d); // // f.setLocation(400, 200); // // Point(int x, int y) // Point p = new Point(400, 200); // f.setLocation(p); // 一个方法搞定 f.setBounds(400, 200, 400, 300); f.setVisible(true); } }
B:窗体关闭案例
package cn.itcast_02; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; public class FrameDemo { public static void main(String[] args) { // 创建窗体对象 Frame f = new Frame("窗体关闭案例"); // 设置窗体属性 f.setBounds(400, 200, 400, 300); // 让窗体关闭 //事件源 //事件:对窗体的处理 //事件处理:关闭窗口(System.exit(0)); //事件监听 // f.addWindowListener(new WindowListener() { // @Override // public void windowOpened(WindowEvent e) { // } // // @Override // public void windowIconified(WindowEvent e) { // } // // @Override // public void windowDeiconified(WindowEvent e) { // } // // @Override // public void windowDeactivated(WindowEvent e) { // } // // @Override // public void windowClosing(WindowEvent e) { // System.exit(0); // } // // @Override // public void windowClosed(WindowEvent e) { // } // // @Override // public void windowActivated(WindowEvent e) { // } // }); //用适配器类改进 f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); // 设置窗体可见 f.setVisible(true); } }
C:窗体添加按钮并对按钮添加事件案例。
界面中的组件布局。
package cn.itcast_02; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; public class FrameDemo { public static void main(String[] args) { // 创建窗体对象 Frame f = new Frame("窗体关闭案例"); // 设置窗体属性 f.setBounds(400, 200, 400, 300); // 让窗体关闭 //事件源 //事件:对窗体的处理 //事件处理:关闭窗口(System.exit(0)); //事件监听 // f.addWindowListener(new WindowListener() { // @Override // public void windowOpened(WindowEvent e) { // } // // @Override // public void windowIconified(WindowEvent e) { // } // // @Override // public void windowDeiconified(WindowEvent e) { // } // // @Override // public void windowDeactivated(WindowEvent e) { // } // // @Override // public void windowClosing(WindowEvent e) { // System.exit(0); // } // // @Override // public void windowClosed(WindowEvent e) { // } // // @Override // public void windowActivated(WindowEvent e) { // } // }); //用适配器类改进 f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); // 设置窗体可见 f.setVisible(true); } }
D:把文本框里面的数据转移到文本域
ublic class FrameDemo { public static void main(String[] args) { // 创建窗体对象 Frame f = new Frame("数据转移"); // 设置窗体属性和布局 f.setBounds(400, 200, 400, 300); f.setLayout(new FlowLayout()); // 创建文本框 final TextField tf = new TextField(20); // 创建按钮 Button bu = new Button("数据转移"); // 创建文本域 final TextArea ta = new TextArea(10, 40); // 把组件添加到窗体 f.add(tf); f.add(bu); f.add(ta); // 设置窗体关闭 f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); // 对按钮添加事件 bu.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 获取文本框的值 String tf_str = tf.getText().trim(); // 清空数据 tf.setText(""); // 设置给文本域 // ta.setText(tf_str); // 追加和换行 ta.append(tf_str + "\r\n"); //获取光标 tf.requestFocus(); } }); // 设置窗体显示 f.setVisible(true); } }
E:更改背景色
package cn.itcast_06; import java.awt.Button; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class FrameDemo { public static void main(String[] args) { // 创建窗体对象 final Frame f = new Frame("更改背景色"); // 设置窗体属性和布局 f.setBounds(400, 200, 400, 300); f.setLayout(new FlowLayout()); // 创建四个按钮 Button redButton = new Button("红色"); Button greenButton = new Button("绿色"); Button buleButton = new Button("蓝色"); // 添加按钮 f.add(redButton); f.add(greenButton); f.add(buleButton); // 设置窗体关闭 f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); // 对按钮添加动作事件 // redButton.addActionListener(new ActionListener() { // @Override // public void actionPerformed(ActionEvent e) { // f.setBackground(Color.RED); // } // }); // 对按钮添加鼠标点击事件 // redButton.addMouseListener(new MouseAdapter() { // @Override // public void mouseClicked(MouseEvent e) { // f.setBackground(Color.RED); // } // }); // 对按钮添加鼠标的进入事件 redButton.addMouseListener(new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { f.setBackground(Color.RED); } }); redButton.addMouseListener(new MouseAdapter() { @Override public void mouseExited(MouseEvent e) { f.setBackground(Color.WHITE); } }); greenButton.addMouseListener(new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { f.setBackground(Color.GREEN); } }); greenButton.addMouseListener(new MouseAdapter() { @Override public void mouseExited(MouseEvent e) { f.setBackground(Color.WHITE); } }); buleButton.addMouseListener(new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { f.setBackground(Color.BLUE); } }); buleButton.addMouseListener(new MouseAdapter() { @Override public void mouseExited(MouseEvent e) { f.setBackground(Color.WHITE); } }); // 设置窗体显示 f.setVisible(true); } }
F:设置文本框里面不能输入非数字字符
package cn.itcast_07; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label; import java.awt.TextField; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /* * 你输入的如果是非数字字符,就取消你键盘录入的效果。 */ public class FrameDemo { public static void main(String[] args) { // 创建窗体对象并设置属性 Frame f = new Frame("不能输入非数字字符"); f.setBounds(400, 200, 400, 300); f.setLayout(new FlowLayout()); // 创建Label标签对象 Label label = new Label("请输入你的QQ号码,不能是非数字,不信你试试"); TextField tf = new TextField(40); // 添加到窗体上 f.add(label); f.add(tf); // 设置窗体关闭 f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); // 给文本框添加事件 tf.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { // 如果你取得的字符不是数字字符就取消事件 // 思路:先获取字符,判断字符,取消事件 // char getKeyChar() char ch = e.getKeyChar(); // System.out.println(ch); if(!(ch>='0' && ch<='9')){ e.consume(); } } }); // 设置窗体可见 f.setVisible(true); } }
G:一级菜单
package cn.itcast_08; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /* * 一级菜单 */ public class FrameDemo { public static void main(String[] args) { // 创建窗体对象并设置属性 Frame f = new Frame("一级菜单"); f.setBounds(400, 200, 400, 300); f.setLayout(new FlowLayout()); // 创建菜单栏 MenuBar mb = new MenuBar(); // 创建菜单 Menu m = new Menu("文件"); // 创建菜单项 MenuItem mi = new MenuItem("退出系统"); // 谁添加谁呢 m.add(mi); mb.add(m); // 设置菜单栏 f.setMenuBar(mb); // 设置窗体关闭 f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); mi.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); // 设置窗体可见 f.setVisible(true); } }
H:多级菜单
package cn.itcast_09; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.IOException; /* * 多级菜单 */ public class FrameDemo { public static void main(String[] args) { // 创建窗体对象并设置属性 final Frame f = new Frame("多级菜单"); f.setBounds(400, 200, 400, 300); f.setLayout(new FlowLayout()); final String name = f.getTitle(); // 创建菜单栏 MenuBar mb = new MenuBar(); // 创建菜单 Menu m1 = new Menu("文件"); Menu m2 = new Menu("更改名称"); // 创建菜单项 final MenuItem mi1 = new MenuItem("好好学习"); final MenuItem mi2 = new MenuItem("天天向上"); MenuItem mi3 = new MenuItem("恢复标题"); MenuItem mi4 = new MenuItem("打开记事本"); MenuItem mi5 = new MenuItem("退出系统"); // 谁添加谁呢 m2.add(mi1); m2.add(mi2); m2.add(mi3); m1.add(m2); m1.add(mi4); m1.add(mi5); mb.add(m1); // 设置菜单栏 f.setMenuBar(mb); // 设置窗体关闭 f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); mi1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { f.setTitle(mi1.getLabel()); } }); mi2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { f.setTitle(mi2.getLabel()); } }); mi3.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { f.setTitle(name); } }); mi4.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Runtime r = Runtime.getRuntime(); try { r.exec("notepad"); } catch (IOException e1) { e1.printStackTrace(); } } }); mi5.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); // 设置窗体可见 f.setVisible(true); } }
(7)Netbeans的概述和使用
A:是可以做Java开发的另一个IDE工具。
B:使用
A:四则运算
a:修改图标
b:设置皮肤
c:设置居中
d:数据校验
B:登录注册
相关文章推荐
- 黑马程序员——Java基础——GUI图形界面编程
- 黑马程序员_Java基础_GUI图形界面入门
- 黑马程序员_JAVA学习日记_JAVA中图形化界面GUI编程
- java之 22天 GUI 图形界面编程(一)
- JAVA(图形界面编程)GUI
- 黑马程序员--GUI界面编程--java学习日记9(基础知识)
- java之 22天 GUI 图形界面编程(二)
- 黑马程序员--javaGUI图形编程
- Java基础---GUI(用户图形界面)(黑马程序员)
- 06 java GUI 网络编程:图形界面聊天室
- 黑马程序员Java培训和Android培训:图形界面编程
- java之 22天 GUI 图形界面编程(一)
- java之 22天 GUI 图形界面编程(二)
- Java基础班学习笔记(15)GUI图形界面编程
- 黑马程序员—JAVA基础—GUI(图形化界面编程)
- 黑马程序员_JAVA 用户图形界面(GUI)
- 黑马程序员——基础学习(十四)多线程(Thread)和图形界面编程(GUI)
- java gui图形界面编程(几乎包含所有常用的控件及布局)
- 黑马程序员——图形化界面编程GUI
- 黑马程序员:Java基础总结----GUI图形化界面