Windows 在JFileChooser中输入文件名时退格使目录后退一级
我对JavaSwing开发非常陌生,遇到了以下问题,不确定如何解决它 使用JFileChooser提供文件名以保存文件时,输入退格(在文件名字段中)会使目录上升1级。此问题仅在Windows上遇到,而在Linux上没有遇到 有人能解释一下为什么会发生这种情况,以及解决这个问题的方法吗 谢谢。我也有这个问题。 我的解决方案是重写processKeyBinding方法,并在特定情况下停止该方法,请参见以下内容:Windows 在JFileChooser中输入文件名时退格使目录后退一级,windows,swing,jfilechooser,Windows,Swing,Jfilechooser,我对JavaSwing开发非常陌生,遇到了以下问题,不确定如何解决它 使用JFileChooser提供文件名以保存文件时,输入退格(在文件名字段中)会使目录上升1级。此问题仅在Windows上遇到,而在Linux上没有遇到 有人能解释一下为什么会发生这种情况,以及解决这个问题的方法吗 谢谢。我也有这个问题。 我的解决方案是重写processKeyBinding方法,并在特定情况下停止该方法,请参见以下内容: @Override protected boolean processKeyBi
@Override
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e,
int condition, boolean pressed) {
if (KeyEvent.VK_BACK_SPACE == e.getKeyChar()){
if (jTextField!= null && jTextField.hasFocus())
return false;
}
return super.processKeyBinding (ks,e,condition,pressed);
}
jTextField是文件名字段,是在myFileChooser类的承包商中计算的
计算方法如下:
private Component getTextFieldInJFileChooser(Component [] c )
{
if (c == null)
return null;
for(Component k: c)
{
if( k instanceof JTextField) {
return k;
}
else if(k instanceof JPanel) {
JPanel jp=(JPanel)k;
Component jTextField = getTextFieldInJFileChooser(jp.getComponents());
if (jTextField != null)
return jTextField;
}
}
return null;
}
成功与问候 谢谢你的回答。这似乎是由于我们的应用程序中的配置而发生的。我改变了主意,让它开始工作了。