Java 自学AWT入门教程实例源码学习5 。
下面是一个关于使用鼠标适配器的例子。http://blog.163.com/yijun_087/blog/static/41425092009102884959734/
import java.awt.*;
import java.awt.event.*;
public class MouseClickHandler extends MouseAdaper{
public void mouseClicked(MouseEvent e) //只实现所需要的方法
{ ……
}
……//不需要实现其他方法
}
java.awt.event包中定义的事件适配器类包括以下7个:
— ComponentAdapter(组件适配器);
— ContainerAdapter(容器适配器);
— FocusAdapter(焦点适配器);
— KeyAdapter(键盘适配器);
— MouseAdapter(鼠标适配器);
— MouseMotionAdapter(鼠标运动适配器);
— WindowAdapter(窗口适配器)。
最后,作为总结,我们看一个综合实例,它是关于个人简历的一个界面程序。
/**
* Resume.java
*
*/
package sample;
import java.awt.*;
import java.awt.event.*;
public class Resume extends Frame implements ItemListener {
public static void main (String[] args) {
final Resume res = new Resume();
res.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt) {
res.setVisible(false);
res.dispose();
System.exit(0);
}
});
res.setLayoutManager();
res.initComponents ();
res.pack();
res.setVisible(true);
}
public void setLayoutManager() {
setLayout(new FlowLayout());
}
/**
*界面初始化
*/
private void initComponents() {//GEN-BEGIN:initComponents
choice2 = new java.awt.Choice();
choice2.add(“Objective”);
choice2.add(“Qualification”);
choice2.add(“Experience”);
choice2.add(“Skillset”);
choice2.add(“Education”);
choice2.add(“Training”);
choice2.addItemListener(this);
choice2.select(0);
panel1 = new java.awt.Panel();
panel2 = new java.awt.Panel();
textArea2 = new java.awt.TextArea();
panel3 = new java.awt.Panel();
textArea1 = new java.awt.TextArea();
panel4 = new java.awt.Panel();
textArea3 = new java.awt.TextArea();
panel5 = new java.awt.Panel();
textArea4 = new java.awt.TextArea();
panel6 = new java.awt.Panel();
textArea5 = new java.awt.TextArea();
panel7 = new java.awt.Panel();
textArea6 = new java.awt.TextArea();
choice2.setFont(new java.awt.Font (“Dialog”, 0, 11));
choice2.setName(“choice2″);
choice2.setBackground(java.awt.Color.white);
choice2.setForeground(java.awt.Color.black);
add(choice2);
panel1.setLayout(new java.awt.CardLayout());
panel1.setFont(new java.awt.Font (“Dialog”, 0, 11));
panel1.setName(“panel20″);
panel1.setBackground(new java.awt.Color (204, 204, 204));
panel1.setForeground(java.awt.Color.black);
panel2.setFont(new java.awt.Font (“Dialog”, 0, 11));
panel2.setName(“panel21″);
panel2.setBackground(new java.awt.Color (153, 153, 153));
panel2.setForeground(java.awt.Color.black);
textArea2.setBackground(new java.awt.Color (216, 208, 200));
textArea2.setName(“text4″);
textArea2.setEditable(false);
textArea2.setFont(new java.awt.Font (“Courier New”, 0, 12));
textArea2.setColumns(80);
textArea2.setForeground(new java.awt.Color (0, 0, 204));
textArea2.setText(“Seeking a challenging position as a JAVA Programmer. \n”);
textArea2.setRows(20);
panel2.add(textArea2);
panel1.add(panel2, “Objective”);
panel3.setFont(new java.awt.Font (“Dialog”, 0, 11));
panel3.setName(“panel22″);
panel3.setBackground(new java.awt.Color (153, 153, 153));
panel3.setForeground(java.awt.Color.black);
textArea1.setBackground(new java.awt.Color (216, 208, 200));
textArea1.setName(“text3″);
textArea1.setEditable(false);
textArea1.setFont(new java.awt.Font (“Courier New”, 1, 12));
textArea1.setColumns(80);
textArea1.setForeground(java.awt.Color.black);
textArea1.setText(“* 7 years C/C++ experience, UNIX/Windows\n* 7 years
experience in RDBMS, including Oracle, Informix and Sybase\n* 3
years programming experience in JAVA on UNIX/WINDOWS\n* 2 years
experience in designing and developing in J2EE\n “);
textArea1.setRows(20);
panel3.add(textArea1);
panel1.add(panel3, “Qualification”);
panel4.setFont(new java.awt.Font (“Dialog”, 0, 11));
panel4.setName(“panel23″);
panel4.setBackground(new java.awt.Color (153, 153, 153));
panel4.setForeground(java.awt.Color.black);
textArea3.setBackground(new java.awt.Color (216, 208, 200));
textArea3.setName(“text5″);
textArea3.setEditable(false);
textArea3.setFont(new java.awt.Font (“Courier New”, 0, 12));
textArea3.setColumns(80);
textArea3.setForeground(java.awt.Color.blue);
textArea3.setText(“Technical Support / Systems Engineer\nSun Microsystems
Inc. China Ltd. PRC \n”);
textArea3.setRows(20);
panel4.add(textArea3);
panel1.add(panel4, “Experience”);
panel5.setFont(new java.awt.Font (“Dialog”, 0, 11));
panel5.setName(“panel24″);
panel5.setBackground(new java.awt.Color (153, 153, 153));
panel5.setForeground(java.awt.Color.black);
textArea4.setBackground(new java.awt.Color (216, 208, 200));
textArea4.setName(“text6″);
textArea4.setEditable(false);
textArea4.setFont(new java.awt.Font (“Courier New”, 0, 12));
textArea4.setColumns(80);
textArea4.setForeground(java.awt.Color.blue);
textArea4.setText(“Programming: C++, JAVA, XML \n”);
textArea4.setRows(20);
panel5.add(textArea4);
panel1.add(panel5, “Skillset”);
panel6.setFont(new java.awt.Font (“Dialog”, 0, 11));
panel6.setName(“panel25″);
panel6.setBackground(new java.awt.Color (153, 153, 153));
panel6.setForeground(java.awt.Color.black);
textArea5.setBackground(new java.awt.Color (216, 208, 200));
textArea5.setName(“text7″);
textArea5.setEditable(false);
textArea5.setFont(new java.awt.Font (“Courier New”, 0, 12));
textArea5.setColumns(80);
textArea5.setForeground(java.awt.Color.blue);
textArea5.setText(“University of Science and Technology of China”);
textArea5.setRows(20);
panel6.add(textArea5);
panel1.add(panel6, “Education”);
panel7.setFont(new java.awt.Font (“Dialog”, 0, 11));
panel7.setName(“panel26″);
panel7.setBackground(new java.awt.Color (153, 153, 153));
panel7.setForeground(java.awt.Color.black);
textArea6.setBackground(new java.awt.Color (216, 208, 200));
textArea6.setName(“text8″);
textArea6.setEditable(false);
textArea6.setFont(new java.awt.Font (“Courier New”, 0, 12));
textArea6.setColumns(80);
textArea6.setForeground(java.awt.Color.blue);
textArea6.setText(“Sun Microsystems Inc.1998-2001\nAttended training
course \n”);
textArea6.setRows(20);
panel7.add(textArea6);
panel1.add(panel7, “Training”);
add(panel1);
}
public void itemStateChanged(ItemEvent evt) {
CardLayout card = (CardLayout)panel1.getLayout();
card.show(panel1, (String)evt.getItem());
}
private java.awt.Choice choice2;
private java.awt.Panel panel1;
private java.awt.Panel panel2;
private java.awt.TextArea textArea2;
private java.awt.Panel panel3;
private java.awt.TextArea textArea1;
private java.awt.Panel panel4;
private java.awt.TextArea textArea3;
private java.awt.Panel panel5;
private java.awt.TextArea textArea4;
private java.awt.Panel panel6;
private java.awt.TextArea textArea5;
private java.awt.Panel panel7;
private java.awt.TextArea textArea6;
}
程序的运行结果见图10-12。
图10-12 程序运行结果