一个很奇怪的问题,在Linux下JPasswordFiled有时候无法输入任何字符。
测试代码如下:
public class Test
{
public static void main( String[] args ) throws Exception
{
JFrame f = new JFrame( "Frame" );
f.setLayout( new FlowLayout() );
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f.setLocationRelativeTo( null ); f.getContentPane().add( new JPasswordField( 10 ) );
f.getContentPane().add( new JButton( "Button" ) );
f.getContentPane().add( new JTextField( 10 ) );
f.pack();
f.setVisible( true );
}
}
JRE版本:1.6
Linux版本:不详,反正挺新的
桌面:GNOME问题描述:
一个非常简单的窗口,上面有一个密码框,一个按钮,一个文本框。三个控件都没有任何自定义的事件处理程序。
一开始密码框工作正常,但是点击了中间那个按钮之后,就无法在密码框输入任何字符了。如果你在右边的文本框输入一些字符,这个时候密码框又正常工作了!怀疑是Java的Bug或者是操作系统GUI和Java的兼容性问题。因为这段简单的代码几乎不可能有任何问题。
另外我尝试对密码框注册了KeyListener和FocusListener,但是密码框接收到了焦点事件,而对击键事件没有响应。有条件的同学能不能帮忙运行一下上面这段代码,并告知运行结果和JRE版本以及Linux版本,谢谢!
测试代码如下:
public class Test
{
public static void main( String[] args ) throws Exception
{
JFrame f = new JFrame( "Frame" );
f.setLayout( new FlowLayout() );
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f.setLocationRelativeTo( null ); f.getContentPane().add( new JPasswordField( 10 ) );
f.getContentPane().add( new JButton( "Button" ) );
f.getContentPane().add( new JTextField( 10 ) );
f.pack();
f.setVisible( true );
}
}
JRE版本:1.6
Linux版本:不详,反正挺新的
桌面:GNOME问题描述:
一个非常简单的窗口,上面有一个密码框,一个按钮,一个文本框。三个控件都没有任何自定义的事件处理程序。
一开始密码框工作正常,但是点击了中间那个按钮之后,就无法在密码框输入任何字符了。如果你在右边的文本框输入一些字符,这个时候密码框又正常工作了!怀疑是Java的Bug或者是操作系统GUI和Java的兼容性问题。因为这段简单的代码几乎不可能有任何问题。
另外我尝试对密码框注册了KeyListener和FocusListener,但是密码框接收到了焦点事件,而对击键事件没有响应。有条件的同学能不能帮忙运行一下上面这段代码,并告知运行结果和JRE版本以及Linux版本,谢谢!
解决方案 »
- 项目怎么部署到服务器上!让所有人都能访问
- eclipse出现:此元素既未连接源代码也未连接 Javadoc,因此找不到任何信息
- 普通类可以定义为静态的吗?为什么?
- 大家帮忙,线程的死锁代码我看不懂,感谢
- Calendar.getInstance();取系统时间的问题
- 怎么样判断文本框是否为空?
- 请问这是什么错误:Exception in thread "main" java.lang.NoClassDefFoundError
- 判断当前时间是不是在一个时间段里,高手请进
- 请教一个关于线程画动画的问题。
- 急,请教,用appletviewer看applet,jdialog是模态的,但applet嵌入网页中,就不起作用,请帮助,急!!!
- java同一个包内多个文件的编译问题
- ResultSet 是一次返回所有,还是通过next一次次去连接db取? 急
楼主【ZJXHZ】截止到2008-07-22 14:37:11的历史汇总数据(不包括此帖):
发帖的总数量:2 发帖的总分数:30 每贴平均分数:15
回帖的总数量:12 得分贴总数量:8 回帖的得分率:66%
结贴的总数量:2 结贴的总分数:30
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
把这一行放在pack()后面试试
我用的是fedora 6 + JDK 1.6.0_10它需要设置支持输入法才可以,不然就无法输入。
JPasswordField.enableInputMethods(true)应该是个bug吧