Это не моя программа, но никто еще не сталкивался с этой проблемой, я первый, поэтому оригинальный разработчик уже пытался мне помочь, но не смог помочь, так как программа отлично работает для всех остальных.
Мне нужно нажать на кнопку, и на этой кнопке должно было отображаться всплывающее окно для выбора файла (JFileChooser), но на каждом компьютере он отлично работает, а на моем - нет,не происходит всплывающее окно, только ошибка на отладчике.
программа имеет отладчик, то есть код, который создает журнал ошибок:
return (T)clazz.getConstructor(new Class[0]).newInstance(new Object[0]);
} catch (ReflectiveOperationException e) {
e.printStackTrace();
throw new RuntimeException("No default constructor found for " + clazz.getName());
}
}
/ \ это то, что создаетжурнал.
это проблема, описанная в журнале отладки: /
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: `
No default constructor found for com.github.manolo8.darkbot.gui.tree.components.JFileOpener
Я уже установил правильный SDK и время выполнения, тот, который каждыйиспользует, и у них не было проблем.
это код внутри файла: "JFileOpener"
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
public class JFileOpener extends JLabel implements OptionEditor {
private final JFileChooser fc = new JFileChooser(new File("."))
{
protected JDialog createDialog(Component parent) throws HeadlessException {
JDialog dialog = super.createDialog(parent);
dialog.setAlwaysOnTop(true);
return dialog;
}
};
public JComponent getComponent() { return this; }
public void edit(ConfigField field) {
setText(Strings.fileName((String)field.get()));
SwingUtilities.invokeLater(() -> {
if (this.fc.showOpenDialog(null) != 0)
return; field.set(this.fc.getSelectedFile().getAbsolutePath());
setText(Strings.fileName((String)field.get()));
});
}
}