Диалоговое окно в случае ошибки - Java
Формулировка задачи:
Есть код запроса в удаленную БД. Как сделать так, чтобы в случае любой ошибки в этом участке кода появлялось окно с ошибкой, или хотя бы со стандартной фразой любого содержания? Чтобы пользователь понял, что что-то не так.Кроме того, При нажатии на кнопку, выполняется этот класс и кнопка меняет свое лого. Класс и кнопка связаны ActionListener. Можно ли сделать так, чтобы в случае ошибки кнопка не менялась на другу.
сам класс:
Смена лого при нажатии:
public static class mysql implements ActionListener{ ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); ScheduledFuture<?> future = executor.scheduleWithFixedDelay(() -> actionPerformed(null), 1, 1, TimeUnit.MINUTES); private static String url = "jdbc:mysql://"; private static String user = ""; private static String password = ""; private static Connection con; private static Statement stmt; public void actionPerformed(ActionEvent e){ try { ownip = Getip.getip(); gettime = Gettime.getip(); } catch (IOException e1) { e1.printStackTrace(); return; } StringBuilder lp = List.list(); try { con = DriverManager.getConnection(url, user, password); stmt = con.createStatement(); String sql = "zapros"; PreparedStatement preparedStatement = con.prepareStatement(sql); preparedStatement.executeUpdate(); } catch (SQLException sqlEx) { sqlEx.printStackTrace(); } } }
Start.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { String icon = (Start.isSelected()) ? "/PFP/button_off.png" : "/PFP/button_on.png"; Start.setIcon(new ImageIcon(gui.class.getResource(icon))); } });
Решение задачи: «Диалоговое окно в случае ошибки»
textual
Листинг программы
JFrame topFrame = (JFrame)SwingUtilities.getWindowAncestor(this); public void actionPerformed(ActionEvent e){ try { ownip = Getip.getip(); gettime = Gettime.getip(); } catch (IOException e1) { e1.printStackTrace(); JOptionPane.showMessageDialog(topFrame, "Error getIp"); return; } StringBuilder lp = List.list(); try { con = DriverManager.getConnection(url, user, password); stmt = con.createStatement(); String sql = "zapros"; PreparedStatement preparedStatement = con.prepareStatement(sql); preparedStatement.executeUpdate(); itemStateChanged(); } catch (SQLException sqlEx) { sqlEx.printStackTrace(); JOptionPane.showMessageDialog(topFrame, "Error SQL"); } ... public void itemStateChanged() { String icon = (Start.isSelected()) ? "/PFP/button_off.png" : "/PFP/button_on.png"; Start.setIcon(new ImageIcon(gui.class.getResource(icon))); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д