黑马程序员-GUI图形用户界面

这篇博客介绍了Java中GUI图形用户界面的设计,包括各种布局管理器如FlowLayout、BorderLayout、GridLayout、CardLayout和GridBagLayout的使用。此外,还讲解了如何创建和设置窗体、添加组件,以及事件监听机制,如WindowListener、ActionListener、MouseListener和KeyListener的实现。示例代码展示了如何响应用户操作,例如关闭窗口和处理按键事件。
摘要由CSDN通过智能技术生成

GUI 图形用户界面
java为GUI提供了对象都存在Java.Awt和javax.Swing两个包

 

Flow Layout(流式布局管理器)
 从左到右的顺序排列
 Panel默认的布局管理器
BorderLayout(边界布局管理器)
 东,南,西,北
 Frame默认的布局管理器
GirdLayout(网格布局管理器)
 规则的矩阵
CardLayout(卡片布局管理器)
 选项卡
GridBagLayout(网格包布局管理器)
 非规则的矩阵

 

import java.awt.*;
import java.awt.event.*

Frame f=new Frame("my awt")                      //框架
f.setSize(横,纵)                                            //框架长度
f.setLocation(横,纵)                                     //坐标
f.setLayout(new FlowLayout())                      //设置布局管理

Button b=new Button("a");
f.add(b);
f.setVisible(true);                                            //显示框架

创建图形化界面:
1,创建frame窗体
2,对窗体进行基本设置。
 比如大小,位置,布局。
3,定义组件
4,将组件通过窗体的add方法添加到窗体中。
5,让窗体显示,通过setVisible(true)

事件监听机制的特点:
1,事件源
2,事件
3,监听器
4,事件处理

事件源:就是awt包或者swing包中的那些图形界面组件。
事件:每一个事件源都有自己特有的对应事件和共性事件。
监听器:将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中。
以上三者,在Java中都定义好了。直接获取其对象来用就可以了。

我们要做的事情是,就是对产生的动作进行处理。

f.addWindowListener(new MyWin())                                //添加指定的窗口焦点监听器
class MyWin extends WindowAdapter{
public void windowClosing(WindowEvent e){  //import java.awt.event.*
 System.exit(0);                                                                //关闭窗口
}
}

f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});


WindowListener的子类WindowAdapter已经实现了WindowListener接口。
并覆盖了其中的所有方法。我们只要继承自WindowAdapter覆盖我需要的方法。

setBountds(x,y,width,heigh)  //setLocatione+setSize

addActionListener按钮监听器 ,他没有adapter

but.addActionListener(new ActionListenr){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
}

addMouseListner 鼠标监听器,有MouseAdapter

but.addMouseListener(new MouseAdapter(){
public void mouseEntered(MouseEvent e){
System.out.
}
});

public void mouseCliscked(MouseEvent e){
if(e.getClickCount()==2)
System.out.println();
}}

addKeyListener 键盘监听器,有KeyAdapter
but.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
System.out.println(KeyEvent.getKeyText(e.getKeyCode()))
}
});

if(e.getKeyCode()==KeyEvent.VK_ESCAPE){
System.exit(0);
}

if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)  //ctrl+enter

TextField

tf=new TextField(20)
tf.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
int code=e.getKeyCode();
if(!(code>=KeyEvent.VK_0&&code<=KeyEvent.VK_9))
{
System.out.println(code+"feifa");
e.consume();  //屏蔽键
}}
});

TextArea
new TextArea(15,40);
append();
Dialog

d=new Dialog(f,"tishixinxi",true)

MenuBar
Menu
MenuItem

f.setMenuBar(mb)
menubar은 또여러가지 menuitem으로 이루어졋고
menuitem다음은 없다

closeItem.addActionListener

FileDialog
FileDialog.LOAD 保存 FileDialog.SAVE 打开
默认保存

openDia=new FileDialog(f,"我要打开",FileDialog.LOAD)
getDirectory();
getFile();

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值