怎样给Jpanel加监听事件

如题所述

我写了个小例子,是键盘监听的,这也是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();
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-19
如果想知道,请问:MIMOSAatBJ@163.com
我现在很忙!

怎样给Jpanel加监听事件
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() { publ...

java swing里怎样按键监听一个JPanel和一个JPanel里面的JTextField...
KeyListener key = new MyKey();\/\/ 将Key事件同时添加给JPanel和JTextFieil组件 pane.addKeyListener(key);text.addKeyListener(key);JButton button = new JButton("使JPanel面板获得焦点");button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { \/\/ 使...

java中为什么要设置监听器,有什么用?
1、private JButton jb=new JButton("按钮");这句话声明了一个按钮,名字叫jb。2、jb.addActionListener(this);这里给jb那个按钮设置了监听,默认为点击触发,当然你写的这个监听有点怪异~3、点击按钮jb触发监听处理方法actionPerformed,在这里可以做你想要的操作,你代码实现的是改变lab这个label标签的内容。 4、至...

一个窗口JFrame里添加了同时两个面板JPanel时监听事件失效,但只添加...
键盘事件只能传递给具有焦点的组件里注册的监听器。点击右边面板则左边面板将失去焦点,其中的监听器将不再收到键盘事件。使用InputMap和ActionMap进行按键绑定,而不要使用键盘监听。这两者如何用请百度\/查API。或者,在左边的面板上添加一个focusListener,当焦点丢失时立即请求获得焦点。但不建议这样做,这...

JAVA Swing 如何监听JMenuItem下拉菜单,实现相应功能?
第一个问题:使用veiwMenuItem.addActionListener()方法添加监听器。具体使用可以查看JDK API 第二个问题,一时想到两种实现方法 1、你要知道,JPanel不单是一个组件,更是一个组件容器,所以你可以往其中添加一个表格组件,而这个表格组件则将你的查询结果显示出来 2、如果你不希望使用其他组件了的话,...

怎样写JTextField的监听和处理事件
首先,jTextField有不同于按钮等其它组件的监听器,通常不使用楼上所使用的监听器.下面这段是处理的代码:jTextField.getDocument().addDocumentListener(new javax.swing.event.DocumentListener(){ public void changedUpdate(DocumentEvent e) {\/\/这是更改操作的处理 String s = jTextField.getText().trim()...

...然后jlabel上就显示出图片,button事件监听该怎么写。
给个例子你参考一下:给按钮bntOk添加监听事件 bntOk.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e1) { label2= new JLabel(); frame.add(label2); label2.setBounds(50, 50, 400, 200); label2.setIcon(new ImageIcon("d:\\\\love.JPG")); ...

javaswimggui多表项目增删改查
设计界面:首先,为每个表设计一个表单界面,包括输入字段和操作按钮(如添加、删除、修改、查询)。添加事件监听器:为每个按钮添加事件监听器,监听用户点击事件。根据点击的按钮类型,执行相应的数据库操作(如通过JDBC连接数据库,并执行SQL语句)。执行数据库操作:在事件监听器的actionPerformed方法中,...

java复选框怎么添加事件
1));checkPanel.add(chin);\/\/ 添加复选框的监听事件chin.addItemListener(this);}\/\/ 接受处理复选框点击事件@Overridepublic void itemStateChanged(ItemEvent e) {\/\/ 获取改变的复选按键Object source = e.getItemSelectable();char c = '-';if (source == chin) {\/\/..进行处理} }} ...

JAVA-给Jpanel添加背景图片详解与匿名内部类
一:需要图片与代码在相同文件夹下,相对路径简单,如“模式选择.PNG”。二:使用绝对路径指定硬盘位置,例如“D:\\图片路径\\模式选择.PNG”。这种实现方式虽然增加了程序的可移植性,但在某些情况下可能降低程序的兼容性。在设计Jpanel的基本属性后,将其添加到顶级容器(如Jframe)中即可。实践一下,你...

相似回答