java – MouseListener / KeyListener不工作(JPanel)
发布时间:2020-12-15 05:10:16 所属栏目:Java 来源:网络整理
导读:我正在做一个涉及JPanel中的鼠标和关键监听器的小项目.不幸的是,当我使用鼠标/键盘时,没有一个方法被调用.之前我曾使用过JPanels / JFrame / JApplet和JComponents.代码段如下所示: import java.awt.*;import java.awt.event.*;import javax.swing.*;import
我正在做一个涉及JPanel中的鼠标和关键监听器的小项目.不幸的是,当我使用鼠标/键盘时,没有一个方法被调用.之前我曾使用过JPanels / JFrame / JApplet和JComponents.代码段如下所示:
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.io.File; import java.io.PrintWriter; import java.io.IOException; import java.io.FileNotFoundException; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import java.util.Scanner; public class Hello extends JPanel implements KeyListener,MouseListener{ JPanel panel = new JPanel(); JFrame frame = new JFrame(); public Hello(){ addKeyListener(this); addMouseListener(this); } public static void main(String [] args){ Hello play = new Hello(); play.setPanel(); } public void setPanel(){ panel.setLayout(null); frame.add(panel); frame.setLayout(null); panel.setBounds(0,100,100); frame.setVisible(true); panel.setVisible(true); panel.setFocusable(true); frame.setSize(100,100); frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE); } public void keyTyped(KeyEvent evt){ System.out.println("keytyped"); } public void keyPressed(KeyEvent evt){ System.out.print("keypressed"); } public void keyReleased(KeyEvent evt){ System.out.println("keyreleased"); } public void mousePressed(MouseEvent evt){ System.out.println("mousepressed"); } public void mouseReleased(MouseEvent evt){ System.out.println("mousereleased"); } public void mouseClicked(MouseEvent evt){ System.out.println("mouseclicked"); } public void mouseEntered(MouseEvent evt){ System.out.println("mousenentered"); } public void mouseExited(MouseEvent evt){ System.out.println("mouseexited"); } } 关闭主题:我一直收到错误 解决方法
看看
Java KeyListener for JFrame is being unresponsive?.
您需要为要侦听的每个JComponent注册KeyListener和MouseListener: public Hello() { addKeyListener(this); addMouseListener(this); panel.addKeyListener(this); panel.addMouseListener(this); frame.addKeyListener(this); frame.addMouseListener(this); } 编辑: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |