Что немного удивляет в вашем коде, так это метод jButton2ActionPerformed(java.awt.event.ActionEvent evt)
.
Обычно вы обрабатываете Java ActionEvents, реализуя ActionListener и затем перезаписывая метод public void actionPerformed(ActionEvent e)
. После этого вы добавите прослушиватель действий в компонент. То же самое касается MouseEvent (MouseListener) или KeyEvent (KeyListener).
Поскольку вы не опубликовали достаточно кода для понимания внутренней работы вашей программы, я просто перенаправлю вас к руководству, найденному здесь , и надеюсь, что это решит вашу проблему.
Тем не менее, вот пример кода:
public class SwingClass implements ActionListener{
private JButton b;
private JFrame f;
public SwingClass(){
f = new JFrame();
f.setVisible(true);
f.setSize(500, 500);
b = new JButton("click");
b.addActionListener(this);
b.setSize(50, 50);
f.add(b);
}
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source.equals(b)) {
jButton2ActionPerformed();
}
}
private void jButton2ActionPerformed() {
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();
String fileName = f.getAbsolutePath();
try {
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + fileName);
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, "Error");
}
}
}
С уважением;)