今天给各位分享但无法被监听到丶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问题为什么监听不成功
我在你代码的基础上稍微改了一下,需要将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教程网的信息别忘了在本站进行查找喔。