`
jiao13953900900
  • 浏览: 32210 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

黑马程序员-GUI窗体的基础知识

    博客分类:
  • java
阅读更多

 


 

---------------------- android培训java培训、期待与您交流! ----------------------

 

黑马程序员—GUI窗体的基础知识

 

 

 

 

/*frame窗体

 *action事件

 *鼠标事件

 *键盘事件

 */

 

import java.awt.*;

import java.awt.event.*;

class FrameDemo

{

//定义图形中所需组件的引用

private Frame f;

private Button but;

private TextField tf;

FrameDemo()

{

init();

}

public void init()

{

f=new Frame("my frame");

//对frame进行基本设置。

f.setBounds(300,100,600,500);

f.setLayout(new FlowLayout());

tf=new TextField(10);

but=new Button("my button");

//将组建添加进frame中。

f.add(tf);

f.add(but);

//加载窗体事件。

myEvent();

//显示窗体。

f.setVisible(true);

}

private void myEvent()

{

//WindowListener用于接收窗口事件的侦听器接口。

 

//因为该接口中方法较多,而我们现在只用到一个,如果实现他覆盖全部方法很麻烦。

//所以我们找到他的子类,WindowAdapter窗口监听适配器。

//特点:接收窗口事件的抽象适配器类。此类中的方法为空。此类存在的目的是方便创建侦听器对象。

//我们用匿名内部类的方式实现他,然后复写他的关闭方法。

f.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

 

}

});

//用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,

//而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。

//在发生操作事件时,调用该对象的 actionPerformed 方法。 

//addActionListene用于接收操作事件的侦听器接口。

//该接口中只有一个方法,所以没有适配器,

//没有适配器的接口一共有三个。

but.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

System.out.println("按钮");

System.exit(0);

}

});

//MouseListener用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。(要跟踪鼠标移动和鼠标拖动,请使用 MouseMotionListener。) 

but.addMouseListener(new MouseAdapter()

{

private int count=1;

private int clickCount=1;

//进入按钮。鼠标进入到组件上时调用。

public void mouseEntered(MouseEvent e)

{

System.out.println("鼠标进入"+count++);

}

//点击操作。鼠标按键在组件上单击(按下并释放)时调用。 

public void mouseClicked(MouseEvent e)

{

if(e.getClickCount()==2)

//判断鼠标连击次数。

System.out.println("双击"+clickCount++);

 

}

});

but.addKeyListener(new KeyAdapter()

{

public void keyPressed(KeyEvent e)

{

//显示每个键对应的码。System.out.println(e.getKeyChar()+":::"+e.getKeyCode());

/*使用enter键关闭窗口。

if(e.getKeyCode()==KeyEvent.VK_ENTER)

System.exit(0);

*/

//使用ctrl+enter键关闭窗口。

if(e.isControlDown() &&e.getKeyCode()==KeyEvent.VK_ENTER)

System.exit(0);

/*

* getKeyText(int keyCode)  返回描述 keyCode 的 String,如 "HOME"、"F1" 或 "A"。

*getKeyChar()  返回与此事件中的键关联的字符。

*getKeyCode() 返回与此事件中的键关联的整数 keyCode。

*/

//System.out.println(KeyEvent.getKeyText(e.getKeyCode())+":::"+e.getKeyCode());

}

});

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+"非法");

e.consume();

//consume() 

          // 使用此事件,以便不会按照默认的方式由产生此事件的源代码来处理此事件。

//

}

}

});

}

}

 

public class GUI1 

{

public static void main(String[] args)

{

new FrameDemo();

 

 

 

 

}

 

}

 

---------------------- android培训java培训、期待与您交流! ----------------------


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics