下面的代码实现了,当你选择的是文件时,会弹出错误对话框,然后禁用确定按钮。
JFileChooser chooser = new JFileChooser();
final JButton okBtn = (JButton)((JPanel)((JPanel)chooser.getComponent(2)).getComponent(3)).getComponent(0);//得到“确定”按钮,这一句根据界面样式的不同而做相应的改变就行了 chooser.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent pe) {
if(pe.getPropertyName().equals (JFileChooser.SELECTED_FILE_CHANGED_PROPERTY)){
File f = (File)pe.getNewValue(); if(f != null && f.isFile()) {
JOptionPane.showMessageDialog(null, "Please select a directory", "Error", JOptionPane.ERROR_MESSAGE);
okBtn.setEnabled(false);
} else {
okBtn.setEnabled(true);
}
}
}
}); chooser.showDialog(this, "OK");
JFileChooser chooser = new JFileChooser();
final JButton okBtn = (JButton)((JPanel)((JPanel)chooser.getComponent(2)).getComponent(3)).getComponent(0);//得到“确定”按钮,这一句根据界面样式的不同而做相应的改变就行了 chooser.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent pe) {
if(pe.getPropertyName().equals (JFileChooser.SELECTED_FILE_CHANGED_PROPERTY)){
File f = (File)pe.getNewValue(); if(f != null && f.isFile()) {
JOptionPane.showMessageDialog(null, "Please select a directory", "Error", JOptionPane.ERROR_MESSAGE);
okBtn.setEnabled(false);
} else {
okBtn.setEnabled(true);
}
}
}
}); chooser.showDialog(this, "OK");
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货