public class MouseTest extends Frame{ private static final long serialVersionUID = 5437685336595276319L; List<Point> list = new ArrayList<Point>(); public void addPoint(Point p){ list.add(p); } /** * 重写画笔 */ @Override public void paint(Graphics g) { Color c = g.getColor(); for (Point point : list) { g.setColor(Color.white); g.fillOval(point.x, point.y, 10, 10); } g.setColor(c); } public static void main(String[] args) { final MouseTest f = new MouseTest(); f.setBackground(Color.black); f.setLayout(null); f.setBounds(600, 100, 300, 300); f.setVisible(true); //窗口添加鼠标点击事件 f.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { MouseTest f = (MouseTest) e.getSource(); f.addPoint(new Point(e.getX(), e.getY())); //frame重画 f.repaint(); System.out.println("鼠标点击"); } }); f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { MouseTest f2 = (MouseTest) e.getSource(); f2.setVisible(false); //f.setVisible(false); //0正常退出,-1非正常退出 System.exit(0); } }); } }
public class FrameTest extends Frame{ @Override public void paint(Graphics g) { Color c = g.getColor(); g.setColor(Color.green); g.drawLine(100, 100, 200, 200); g.setColor(c); //super.paint(g); } public void createFrame(String title,int x,int y,int w,int h){ this.setTitle(title); this.setLayout(null); //this.setLayout(new FlowLayout(FlowLayout.CENTER,20,20)); //new BorderLayout(); //BorderLayout.CENTER; //new GridLayout(3, 2);3行两列 this.setBounds(x, y, w, h); this.setBackground(Color.blue); Panel panel = new Panel(); panel.setBounds(w/4, h/4, w/2, h/2); panel.setBackground(Color.yellow); this.add(panel); //this.add(panel, BorderLayout.NORTH); this.setVisible(true); } public static void main(String[] args) { FrameTest frameTest = new FrameTest(); frameTest.createFrame("测试", 600, 400, 600, 600); /*Frame frame = new FrameTest(); //frame.setLayout(null); frame.setBounds(200, 200, 300, 300); Button b = new Button("denglu"); b.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("点击登陆"); } }); frame.add(b); TextField field = new TextField(); field.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { TextField tf = (TextField) e.getSource(); System.out.println(tf.getText()); tf.setText(""); } }); field.setEchoChar('*'); frame.add(field); //frame.pack(); frame.setVisible(true);*/ } }
键盘
import java.awt.Frame; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class KeyTest extends Frame{ public static void main(String[] args) { KeyTest k = new KeyTest(); k.setLayout(null); k.setBounds(600, 100, 300, 300); k.setVisible(true); //键盘按下事件 k.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { //System.out.println("键盘按下-->"+e.getKeyCode()); //w s a d 上下左右 switch (e.getKeyCode()) { case 87: System.out.println("上"); break; case 83: System.out.println("下"); break; case 65: System.out.println("左"); break; case 68: System.out.println("右"); break; default: break; } } }); k.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { KeyTest k2 = (KeyTest) e.getSource(); k2.setVisible(false); System.exit(0); } }); } }