package ptest;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseMoved implements MouseMotionListener,KeyListener{
private JFrame frame;
private JTextField tf;
public static void main(String[] args) {
MouseMoved m=new MouseMoved();
m.go();
}
public void go() {
frame=new JFrame("MouseMoved Frame");
Container contentPane=frame.getContentPane();
contentPane.add(new Label("Click and drag the mouse"),BorderLayout.NORTH);
tf=new JTextField(30);
contentPane.add(tf,BorderLayout.SOUTH);
frame.addMouseMotionListener(this);
frame.addKeyListener(this);
frame.setSize(300,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void mouseMoved(MouseEvent e) {
String s="Mouse Moved: X="+e.getX()+" Y="+e.getY();
tf.setText(s);
//System.out.println("mouse running ...");
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
System.out.println("running...");
// String k=" Key Press: "+e.getKeyCode();
String k="";
if(e.getKeyCode()==KeyEvent.VK_CONTROL) k="C";
//tf.setText(k);
System.out.println("C");
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("Key Released..");
}
}
frame.addKeyListener(this);
换成tf.addKeyListener(this);
就可以了
习惯上将Error类与Exception类统称为异常类,但二者本质上是不同点。
Error类通常指的是Java虚拟机出错,用户无法在程序里处理这种错误。
Exception类包含了一般性的异常,这些异常在捕捉到之后便可做妥善的处理,以确保程序继续运行。
下面是异常处理的流程: