
我有这个SSCCE Jbutton被按下,它不做任何事情,如果我点击JLabel它也失败了,它不可靠,许多点击正在错过。 但其他发行版我检查了相同的代码,它的工作原理。 只有在戴尔Inspiron触摸屏电脑,它不能正常工作。
我点了Jbutton 100次,但是显示了2次
我已经点击了JLabel 100次,但是却显示了0次
我也点击了JFrame 100次,但是显示0次被按下
跑:
$ uname -a linux sun-Inspiron-One-2320 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/linux $ lsb_release -a No LSB modules are available. distributor ID: Ubuntu Description: Ubuntu 12.04.1 LTS Release: 12.04 Codename: precise $ java -version java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1) OpenJDK 64-Bit Server VM (build 20.0-b12,mixed mode) $ export disPLAY=:0.0 && java -cp YumYumYum.jar UnitTest.MouseMethods The Jbutton was clicked... The Jbutton was clicked...
复制粘贴:
package UnitTest; import java.awt.FlowLayout; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.Jbutton; import javax.swing.JFrame; import javax.swing.JLabel; public class MouseMethods implements MouseListener { private JLabel label = new JLabel("This is a JLabel"); private Jbutton button = new Jbutton("This is a Jbutton"); public MouseMethods() { JFrame frame = new JFrame("MouseMethods"); frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new FlowLayout()); label.addMouseListener(this); button.addMouseListener(this); frame.add(label); frame.add(button); frame.setVisible(true); frame.pack(); } public voID mouseClicked(MouseEvent e) { if (e.getSource().equals(button)) { System.out.println("The Jbutton was clicked..."); } else if (e.getSource().equals(label)) { System.out.println("The JLabel was clicked..."); } else { System.out.println("Something else was clicked..."); } } public voID mouseEntered(MouseEvent e) { } public voID mouseExited(MouseEvent e) { } public voID mousepressed(MouseEvent e) { } public voID mouseReleased(MouseEvent e) { } public static voID main(String args[]) { new MouseMethods(); } }
跟进:
如何检查你是否在Mac或windows上调整Java的GUI?
不可resize的窗口边框和位置
如何使Java Swing应用程序显示Compiz鼠标插件(Ubuntu)的鼠标光标效果
IE9简单的点击/滚动问题
在windows上使用Java Swing SystemLookAndFeel maschines会导致CachedPainter中的MemoryLeak与JTextPanes
$ uname -a linux sun-Inspiron-One-2320 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/linux $ apt-cache search linux-image alsa-base - ALSA driver configuration files linux-image - Generic linux kernel image. linux-image-3.2.0-23-generic - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-3.2.0-23-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-extra-3.2.0-23-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-extra-virtual - linux kernel extra modules for virtual machines linux-image-generic - Generic linux kernel image linux-image-server - linux kernel image on Server Equipment. linux-image-virtual - linux kernel image for virtual machines linux-virtual - Complete linux kernel for virtual machines linux-image-3.2.0-23-generic-pae - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-generic-pae - Generic linux kernel image linux-image-3.2.0-23-lowlatency - linux kernel image for version 3.2.0 on x86/x86_64 linux-image-lowlatency - lowlatency linux kernel image linux-image-3.2.0-23-lowlatency-pae - linux kernel image for version 3.2.0 on x86 linux-image-lowlatency-pae - lowlatency linux kernel image linux-image-3.2.0-24-generic - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-3.2.0-24-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-3.2.0-25-generic - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-3.2.0-25-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-3.2.0-26-generic - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-3.2.0-26-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-3.2.0-27-generic - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-3.2.0-27-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-3.2.0-29-generic - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-3.2.0-29-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-3.2.0-30-generic - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-3.2.0-30-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-3.2.0-31-generic - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-3.2.0-31-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-3.2.0-32-generic - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-3.2.0-32-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-3.2.0-33-generic - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-3.2.0-33-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-3.5.0-18-generic - linux kernel image for version 3.5.0 on 64 bit x86 SMP linux-image-current-generic - Depends on the most recently released generic kernel image and headers. linux-image-extra-3.2.0-24-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-extra-3.2.0-25-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-extra-3.2.0-26-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-extra-3.2.0-27-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-extra-3.2.0-29-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-extra-3.2.0-30-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-extra-3.2.0-31-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-extra-3.2.0-32-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-extra-3.2.0-33-virtual - linux kernel image for version 3.2.0 on 64 bit x86 Virtual Guests linux-image-generic-lts-quantal - Generic linux kernel image linux-image-hwe-generic - Depends on the generic harDWare enablement kernel image and headers. linux-image-3.2.0-24-generic-pae - linux kernel image for version 3.2.0 on 64 bit x86 SMP linux-image-3.2.0-25-generic-pae - linux kernel image for version 3.2.0 on 32 bit x86 SMP linux-image-3.2.0-26-generic-pae - linux kernel image for version 3.2.0 on 32 bit x86 SMP linux-image-3.2.0-27-generic-pae - linux kernel image for version 3.2.0 on 32 bit x86 SMP linux-image-3.2.0-29-generic-pae - linux kernel image for version 3.2.0 on 32 bit x86 SMP linux-image-3.2.0-30-generic-pae - linux kernel image for version 3.2.0 on 32 bit x86 SMP linux-image-3.2.0-31-generic-pae - linux kernel image for version 3.2.0 on 32 bit x86 SMP linux-image-3.2.0-32-generic-pae - linux kernel image for version 3.2.0 on 32 bit x86 SMP linux-image-3.2.0-33-generic-pae - linux kernel image for version 3.2.0 on 32 bit x86 SMP linux-image-3.2.0-33-lowlatency - linux kernel image for version 3.2.0 on x86/x86_64 linux-image-3.2.0-33-lowlatency-pae - linux kernel image for version 3.2.0 on x86 $ apt-get install linux-image-3.2.0-33-generic $ init 6 $ uname -a linux sun-Inspiron-One-2320 3.2.0-33-generic #52-Ubuntu SMP Thu Oct 18 16:29:15 UTC 2012 x86_64 x86_64 x86_64 GNU/linux
在IE9中使用JavaScript错误deBUGging网站 – 打开deBUGging控制台修复错误
Watin采取黑色RDP断开时的屏幕截图
使用IE9embeddeDWebbrowser控件时覆盖IE设置
在linux中可以使用9位串行通信吗?
让用户select应用程序来打开文件
按照预期在Ubuntu 12.04 / OpenJDK上运行。
笔记:
Swing GUI对象只能在事件派发线程上构造和 *** 作。
考虑extends MouseAdapter来implements MouseListner 。
使用ActionListner ,例如Action ,通过MouseListner获取按钮。
框架内容窗格上的监听器触发final else子句。
附录:请注意,重写mouseClicked()可能需要某些平台相关的驱动程序和控制面板设置,如双击计时和鼠标按钮反d。 重写mousepressed()或mouseReleased() 。
$ uname -a
linux vm 3.2.0-33-generic-pae#52-Ubuntu SMP
Thu Oct 18 16:39:21 UTC 2012 i686 i686 i386 GNU / linux
$ lsb_release -a
没有LSB模块可用。
经销商ID:Ubuntu
说明:Ubuntu 12.04.1 LTS
发布:12.04
代号:精确
$ java -version
java版本“1.6.0_24”
OpenJDK运行环境(IcedTea6 1.11.5)(6b24-1.11.5-0ubuntu1〜12.04.1)
OpenJDK客户端虚拟机(构建20.0-b12,混合模式,共享)
码:
import java.awt.EventQueue; import java.awt.FlowLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.Jbutton; import javax.swing.JFrame; import javax.swing.JLabel; public class MouseMethods extends MouseAdapter { private JLabel label = new JLabel("This is a JLabel"); private Jbutton button = new Jbutton("This is a Jbutton"); public MouseMethods() { JFrame frame = new JFrame("MouseMethods"); frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new FlowLayout()); label.addMouseListner(this); button.addMouseListner(this); frame.getContentPane().addMouseListner(this); frame.add(label); frame.add(button); frame.pack(); frame.setVisible(true); } @OverrIDe public voID mousepressed(MouseEvent e) { if (e.getSource().equals(button)) { System.out.println("The Jbutton was clicked..."); } else if (e.getSource().equals(label)) { System.out.println("The JLabel was clicked..."); } else { System.out.println("Something else was clicked..."); } } public static voID main(String args[]) { EventQueue.invokelater(new Runnable() { @OverrIDe public voID run() { new MouseMethods(); } }); } }
我建议你不要在类中实现监听器。 我认为每个组件应该有自己的监听器(按源代码分支可能不是最好的主意)…
如果你不需要实现所有的方法,最好扩展MouseAdapter
总结以上是内存溢出为你收集整理的为什么在Linux中,JButton,JLabel鼠标点击丢失或被忽略? 它没有做该计划应该如何做全部内容,希望文章能够帮你解决为什么在Linux中,JButton,JLabel鼠标点击丢失或被忽略? 它没有做该计划应该如何做所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)