怎样给Jpanel加监听事件

怎样给Jpanel加监听事件,第1张

我写了个小例子,是键盘监听的,这也是JPanel最特殊的一个监听,希望对你有帮助。

package net.miqiang.gui

import java.awt.BorderLayout

import java.awt.event.KeyEvent

import java.awt.event.KeyListener

import javax.swing.JFrame

import javax.swing.JLabel

import javax.swing.JPanel

/**

* 给JPanel添加KeyListener监听实例

* @author 米强

*

*/

public class Test extends JFrame {

private JLabel label = null

public Test() {

super("给JPanel添加KeyListener监听")

label = new JLabel("Key:", JLabel.CENTER)

JPanel pane = new JPanel()

// 给JPanel对象添加了KeyListener事件监听

pane.addKeyListener(new KeyListener() {

public void keyTyped(KeyEvent e) {

}

public void keyReleased(KeyEvent e) {

}

public void keyPressed(KeyEvent e) {

// 将按键字符显示在JLabel标签中

label.setText("Key:" + String.valueOf(e.getKeyChar()))

}

})

getContentPane().add(pane)

getContentPane().add(label, BorderLayout.NORTH)

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

setSize(300, 200)

setLocationRelativeTo(null)

setVisible(true)

// KeyListener监听必需在窗体显示之后调用requestFocus方法使其获得焦点,否则KeyListener事件无法触发,鼠标点击事件、拖动事件等则不需要。

pane.requestFocus()

}

public static void main(String[] args) {

new Test()

}

}

直接用js实现比较麻烦,不同版本的浏览器(主要是低版本的)支持的方法会不一样。

建议使用jquery实现:

添加事件例:

$("button").on("click", function(){

    console.log("clicked")

})

移除事件例:

$("button").off("click")

文档链接:http://api.jquery.com/on/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11828008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存