---------------------- android培训、java培训、期待与您交流! ----------------------
在java最先提供这些部件的工具包是AWT(抽象窗口化工具包),但是由于用它编写的GUI程序的可移植性差,不能满足多个不同的系统用户。所以java后来新出了一个swing包,在AWT的基础上改进提高了性能。
GUI的构建工具,可分为“部件”(或者叫组件)和“容器”两种。
部件:按钮,滚动条,文本输入框等东西
容器:窗口,对话框等。
其实创建个界面,就是把这些部件放入到容器中去。
当然有些容器也是可以放入容器中的,但是部件中是不能放容器的,部件也不能放入部件中。
一般我们在开发一个GUI程序,通常是4个步骤:
1.构建一个顶层的窗口。
2.构建部件
3.用容器的add方法把部件放入容器。
4.设置布局。
import java.awt.*;
public class Test(){
public Test(){
this.setTile("你好"); //标题名称
this.setSize(200,300); //窗口大小
this.setVisible(true); //显示窗口
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口。
}
}
我们一般设置使用图形化界面时,都是通过利用鼠标和键盘来完成的。
键盘事件:
(1)KeyListener包含
KeyPressed(按下一瞬间的事件,表示虚拟键码即捕捉按键),能够调用e.getKeyCode()返回虚拟键码,e.isShiftDown()等检测是否按下shift。
KeyTyped(一直按着时的事件,表示在屏幕上出现的真实字符,如果按shift+a,则会为A),e.getKeyChar()返回真实字符
KeyReleased(放开一瞬间的事件)
(2)panel默认是不接受键盘事件的,需要在panel构造函数最后加setFocusable(true);激活
10.鼠标事件:
(1)鼠标事件有3个监听器
MouseListener:有MousePressed(按下鼠标瞬间的事件),MouseReleased(松开鼠标瞬间的事件),MouseClicked(主要是调用e.getClickCount()获得鼠标点击次数)
MouseMotionListener:MouseMoved(鼠标平常移动),MouseDragged(鼠标按下后移动)
MouseWheelListener:MouseWheelMoved(鼠标滚轮移动)
(2)MouseEvent可以调用e.getX(),e.getY()返回鼠标的位置
GUI的菜单问题
import java.awt.*;
import javax.swing.*;
public class Frame1
extends JFrame {
private List list1 = new List();
private JLabel jLabel1 = new JLabel();
MenuBar menuBar1 = new MenuBar();
Menu menu1 = new Menu();
Menu menu2 = new Menu();
Menu menu3 = new Menu();
MenuItem menuItem1 = new MenuItem();
MenuItem menuItem3 = new MenuItem();
MenuItem menuItem4 = new MenuItem();
Menu menu4 = new Menu();
MenuItem menuItem6 = new MenuItem();
Menu menu5 = new Menu();
MenuItem menuItem2 = new MenuItem();
public Frame1() {
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
this.getContentPane().setLayout(null);
list1.setBounds(new Rectangle(35, 68, 465, 153));
jLabel1.setText("这个字就是frame1.java");
jLabel1.setBounds(new Rectangle(34, 39, 242, 24));
this.menu1.setLabel("1");
menu2.setLabel("2");
menu3.setLabel("3");
menuItem1.setLabel("3.1");
menuItem3.setLabel("2.1");
menuItem4.setLabel("3.2");
menu4.setLabel("help");
menuItem6.setLabel("about");
menu5.setLabel("2.2");
menuItem2.setLabel("2.4");
this.getContentPane().add(jLabel1, null);
this.getContentPane().add(list1, null);
menuBar1.add(menu1);
menuBar1.add(menu2);
menuBar1.add(menu3);
menuBar1.add(menu4);
menu3.add(menuItem1);
menu3.add(menuItem4);
menu2.addSeparator();
menu2.add(menuItem3);
menu2.addSeparator();
menu2.add(menu5);
menu2.addSeparator();
menu4.add(menuItem6);
menu5.add(menuItem2);
}
public void output(String str) {
list1.add(str);
}
}
---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.youkuaiyun.com/heima