事件
package com.mao.test; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Test2 { public static void main(String[] args) { JFrame jFrame = new JFrame(); //设置界面的宽和高 jFrame.setSize(603,680); //设置页面的标题 jFrame.setTitle("事件演示"); //设置界面的置顶 jFrame.setAlwaysOnTop(true); //设置界面居中 jFrame.setLocationRelativeTo(null); //设置关闭模式 jFrame.setDefaultCloseOperation(3); //取消默认的居中模式, jFrame.setLayout(null); //创建一个按钮对象 JButton jButton = new JButton("点我啊"); //设置位置和宽高 jButton.setBounds(0,0,100,50); //给按钮添加动作监听 //jbutton:组件对象,表示你要给哪个组件添加对象 //addActionListener:表示我要给哪个组件添加哪个事件监听(动作监听包括鼠标左键点击和空格) //参数 代表事件被触发后要执行的代码 //jButton.addActionListener(new MyActionListener()); MyActionListener只被调用一次,我们可以使用匿名内部类的方法调用 jButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("damiao~"); } }); //吧按钮添加到整个页面当中 jFrame.getContentPane().add(jButton); jFrame.setVisible(true); } }
package com.mao.test; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; public class MyJFrame extends JFrame implements ActionListener { JButton jtb1 = new JButton("点我啊啊"); JButton jtb2 = new JButton("zai点我啊啊"); public MyJFrame(){ this.setSize(603,680); this.setTitle("拼图单机版 1.0"); this.setAlwaysOnTop(true); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(3); this.setLayout(null); jtb1.setBounds(0,0,100,50); jtb1.addActionListener(this); jtb2.setBounds(100,0,100,50); jtb2.addActionListener(this); //吧按钮添加到整个界面当中 this.getContentPane().add(jtb1); this.getContentPane().add(jtb2); this.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { //可以对当前的按钮进行判断 //获取当前被操作的按钮对象 Object source = e.getSource(); if(source == jtb1){ jtb1.setSize(200,200); }else if(source == jtb2){ Random r = new Random(); jtb2.setLocation(r.nextInt(500),r.nextInt(500)); } } }


package com.mao.test; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class MyJFrame2 extends MyJFrame implements MouseListener { public MyJFrame2(){ this.setSize(603,680); this.setTitle("拼图单机版 1.0"); this.setAlwaysOnTop(true); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(3); this.setLayout(null); jtb1.setBounds(0,0,100,50); //给按钮绑定鼠标事件 jtb1.addMouseListener(this); //吧按钮添加到整个界面当中 this.getContentPane().add(jtb1); this.setVisible(true); } @Override public void mouseClicked(MouseEvent e) { System.out.println("单击"); } @Override public void mousePressed(MouseEvent e) { System.out.println("按下不松"); } @Override public void mouseReleased(MouseEvent e) { System.out.println("松开"); } @Override public void mouseEntered(MouseEvent e) { System.out.println("划入"); } @Override public void mouseExited(MouseEvent e) { System.out.println("划出"); } }

package com.mao.test; import javax.swing.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class MyJFrame3 extends JFrame implements KeyListener { public MyJFrame3(){ this.setSize(603,680); this.setTitle("拼图单机版 1.0"); this.setAlwaysOnTop(true); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(3); this.setLayout(null); //给整个窗体添加键盘监听 //调用者this:本类对象,当前的界面对象,表示我要给整个界面添加监听 //addKeyListener:表示我要给本界面添加键盘监听 //参数this:当参数被触发后,会执行本类中的对应代码 this.addKeyListener(this); this.setVisible(true); } @Override public void keyTyped(KeyEvent e) { } //细节一: //如果我们按下一个按键没有松开,那么会重复的去调用keyPressed方法 //细节二: //键盘里那么多按键,怎么去区分 //每一个按键都有一个编号,与之对应 @Override public void keyPressed(KeyEvent e) { System.out.println("按下不松"); } @Override public void keyReleased(KeyEvent e) { System.out.println("松开按键"); //获取键盘上每一个按键的编号 int keyCode = e.getKeyCode(); System.out.println(keyCode); if(keyCode == 65){ System.out.println("按的是A"); }else if(keyCode == 66){ System.out.println("按的是B"); } } }
浙公网安备 33010602011771号