图形界面编程:
java将图形界面所需要的组件都存在了java.awt包中以及后期基于awt出现javax.swing包中。
awt:不跨平台,依赖平台的显示样式及效果。
swing:跨平台。
Component:
|--Button
|--Label:想要往组件中添加文本信息,需要先将文本封装成组件。使用的就是label对象。
|--Container:是构件的一个特殊子类,特点可以存储组件。
|--Panel:面板,不单独存在。需要存入window中。
|--Window
|--Frame:用于创建窗体。
|--Dialog
|--FileDialog:有两个模式,LOAD(默认) SAVE用于对文件进行选取和指定。
|--TextComponent
|--TextField
|--TextArea
定义图形界面的简单操作。
import java.awt.*;
import java.awt.event.*;
class MyFrame
{
private Frame f;
private Button b;
MyFrame()
{
init();
}
public void init()
{
f = new Frame("my Frame");
f.setBounds(300,200,600,500);
f.setLayout(new FlowLayout());
b = new Button("my button");
f.add(b);
myEvent();
f.setVisible(true);
}
private void myEvent()
{
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
/*
点击按钮也可以实现关闭程序。
1,确定事件源。button。
2,确定事件,ActionEvent MouseEvent
3,将活动事件注册到事件源上。注册时就需要先知道监听器。ActionListener。
4,使用事件源的addXXXListener方法将XXXListener的子类对象作为参数传递给add方法即可完成监听动作。
5,覆盖监听接口或者监听接口的子类监听适配器中的方法。定义事件对应的动作处理方式。
*/
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
}
}
另一种方式: 自定义Frame的子类对象也可以创建窗体。
----------------
事件监听机制。
组成部分:
1,事件源:其实就是awt中的组件。
2,事件:就是event包中的所有Event对象。
3,监听器:就是event包中的所有Listener接口。
4,事件处理方式:其实就是在定义可以触发事件的动作内容。
鼠标事件:MouseEvent。
可通过该事件对象的 getClickCount()==2判断鼠标双击动作。
键盘事件:KeyEvent。
getKeyCode():获取按钮对应的code。
getKeyChar():返回的是键上的字母或数字符号,注意返回的是一个字符。查看不了shift。
getKeyText(code):返回的多字母按键。
如何实现ctrl+Enter组合键。
if(e.isControlDown() && e.getKeyCode()==KeyEvent.VK_ENTER)
--------------
菜单:
MenuComponent
|--MenuBar:菜单栏。菜单栏中存放菜单Menu。
|--MenuItem
|--Menu:菜单,其中存放菜单项MenuItem
MenuBar mb = new MenuBar();
Menu m = new Menu("文件");
MenuItem mi = new MenuItem("打开");
m.add(mi);
mb.add(m);
frame.setMenuBar(mb);
//创建子菜单。
MenuBar mb = new MenuBar();
Menu m = Menu("文件");
Menu demo = Menu("demo");
MenuItem mi = new MenuItem("打开");
MenuItem sub = new MenuItem("sub");
demo.add(sub);
m.add(demo);
m.add(mi);
mb.add(m);
frame.setMenuBar(mb);
菜单对应的事件也是ActionEvent,对应的监听器ActionListener。
双击jar执行。
注意,自定义配置文件时,需要Main-Class:空格包名.主函数类名回车
Java总结-图形界面编程
最新推荐文章于 2019-11-28 18:02:51 发布