今天给各位分享但无法被监听到丶java教程网的知识,其中也会对java监听方法被调用进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

为什么我这个java程序监听不到KeyListener,无法触发,求大神解释一下,谢谢

焦点问题

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class FrameEvent extends JFrame implements KeyListener {

JTextArea textarea = new JTextArea(10, 30);

private JLabel status;

public FrameEvent() {

super(“KeyinEvent.java: “);

Container c = getContentPane();

c.setLayout(new FlowLayout());

setFocusable(true);

textarea.setText(“请按任意键:”);

c.add(textarea);

addKeyListener(this);

setSize(350, 300);

show();

this.setDefaultCloseOperation(3);

}

public void keyPressed(KeyEvent e) {

// String line1=”按键:”+e.getKeyChar()+”\n”;

// String line2=”a按键是否为Action键:”+e.isActionKey();

// @SuppressWarnings(“static-access”)

// String mKey=e.getKeyModifiersText(e.getModifiers());

// String line3=”是否按下Modifier键”+(mKey.equals(“”)?”否”:”是,其键为”+mKey);

// textarea.setText(line1+”\n”+line2+”\n”+line3+”\n”);

if (e.getKeyCode() == KeyEvent.VK_SPACE) {

System.out.println(“123”);

}

// char ch = e.getKeyChar();

// status.setText(String.valueOf(ch) + ”   ” +(int)ch);

}

public void keyReleased(KeyEvent e) {

}

public void keyTyped(KeyEvent e) {

}

public static void main(String args[]) {

FrameEvent app = new FrameEvent();

}

}

java监听问题,为什么监听失效了?

artintin说的对的,但无法被监听到丶java教程网你点击但无法被监听到丶java教程网了按钮之后,你会看到文字周围有一个小框,那叫焦点框,此时按钮是被选中的,你如果敲空格,就相当于你用鼠标点击但无法被监听到丶java教程网了按钮,所以你如果要使frame监听有效,必须把焦点集中在frame身上,而不是按钮,按下tab键,按钮上的焦点框会消失,此时是选中frame,你再按一下键盘,会输出dsaf的。

但是这样做,貌似有点麻烦,或者不到位,你可以尝试着加入一句button1.setFocusable(false);

按钮点击是有效的,但是不能获得焦点,你每次点击之后,相当于获得焦点之后又立马释放了,这时程序应该稍微好一点。

不过从这个语句来看,但无法被监听到丶java教程网他是完全设置这个组件不能获取焦点,貌似也有不好的地方,你应该查资料试着暂时释放它的焦点,而不是永久的阻止它获得焦点。

java监听不起作用,求助!!

当一个组件获取到焦点时,事件才能生效。你这个JFrame目测被button或者panel覆盖掉获取不到焦点了,当然按键无效了。this.add(panel)下面加个this.focus()类是的试试。

但无法被监听到丶java教程网(java监听方法被调用)插图

java问题为什么监听不成功

我在你代码的基础上稍微改了一下,需要将checkboxgrouplistener、chiocelistener两个对象实例化,这样添加监听器才有作用:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class 下拉菜单 {

public static void main(String[] args) {

new 框架();

}

}

class 框架 extends JFrame {

CheckboxGroupListener checkboxgrouplistener = new CheckboxGroupListener();

ChioceListener chiocelistener = new ChioceListener();

public Choice c;

CheckboxGroup cbg;

Checkbox cb1, cb2, cb3;

public 框架() {

super(“下拉菜单”);

setBounds(200, 200, 300, 300);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

Container cn = getContentPane();

c = new Choice();

c.add(“一”);

c.add(“二”);

JPanel jp1 = new JPanel();

jp1.add(c);

cbg = new CheckboxGroup();

cb1 = new Checkbox(“cb1一”, cbg, false);

cb2 = new Checkbox(“cb2二”, cbg, true);

cb3 = new Checkbox(“cb3三”, cbg, false);

JPanel jp2 = new JPanel();

jp2.add(cb1);

jp2.add(cb2);

jp2.add(cb3);

cb1.addItemListener(checkboxgrouplistener);

cb2.addItemListener(checkboxgrouplistener);

cb3.addItemListener(checkboxgrouplistener);

c.addItemListener(chiocelistener);

//如果你之前没有实例化checkboxgrouplistener、chiocelistener对象,在这也可以向下面一样

// cb1.addItemListener(new CheckboxGroupListener());

// cb2.addItemListener(new CheckboxGroupListener());

// cb3.addItemListener(new CheckboxGroupListener());

// c.addItemListener(new ChioceListener());

cn.add(jp1, BorderLayout.NORTH);

cn.add(jp2, BorderLayout.CENTER);

}

class CheckboxGroupListener implements ItemListener {

public void itemStateChanged(ItemEvent e) {

if (e.getSource() == cb1) {

System.out.println(“您选择了cb1”);

}

if (e.getSource() == cb2) {

System.out.println(“您选择了cb2”);

}

if (e.getSource() == cb3) {

System.out.println(“您选择了cb3”);

}

}

}

class ChioceListener implements ItemListener {

public void itemStateChanged(ItemEvent e) {

if (c.getSelectedIndex() == 0) {

System.out.println(“您选择了一”);

} else if (c.getSelectedIndex() == 1) {

System.out.println(“您选择了二'”);

}

}

}

}

还有,一般对于这种图形窗口,都需要设置点击右上角的叉关闭窗口并停止应用程序。所以setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);是必要的好习惯。

javawindowsclosing监听不到怎么回事

JAVAWINDOWSclosing监听不到的时候,是因为这个时候程序出现了问题,我们是需要重新打开程序,或者是给程序进行改正的,只有我们的程序正确了,可以正常使用的时候,才可以监听得到

java中的监听无效,原因在哪?

JButton jb = new JButton(“TRY”);

是方法内的变量,事件中判断永远都是false的。 去掉JButton jb = new JButton(“TRY”);

前面的JButton。

但无法被监听到丶java教程网的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java监听方法被调用、但无法被监听到丶java教程网的信息别忘了在本站进行查找喔。

免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表一休教程网的观点和立场。