Java总结-图形界面编程

本文介绍了Java图形界面编程的基础知识,包括AWT和Swing组件库的特点与使用方法,并通过实例展示了如何创建简单的窗口应用及事件监听机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


图形界面编程:
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:空格包名.主函数类名回车


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值