Форма открывается при нажатии java

Появление формы при нажатии на кнопку

Вообщем такая проблема: у меня есть таблица в этой таблице есть данные. Мне нужно сделать кнопку для редактирования выбранной строки. При нажатии на эту кнопку у меня должна появиться форма с несколькими текстовыми полями и двумя кнопками (Сохранить, отмена). Т.е. пользователь нажимает на кнопку редактировать открывается эта форма куда пользователь вводит данные, нажимает на кнопку сохранить и данные те которые находятся в данной строке изменяются на те что ввел пользователь. Подкиньте мысль как это можно сделать. может это можно сделать как то через JOptionPane.

Ошибки при нажатии на кнопку
Добрый день. Хочу, чтобы пользователь вводил 10 чисел (ограничение на текстовое поле пока не.

Событие при нажатии на кнопку происходит неверно
Здравствуйте! У меня проблема, с выводом рисунка. После нажатия на кнопку у меня на панели должен.

Пошаговое выполнение цикла при нажатии на кнопку
Здравствуйте! Не знаю, как реализовать пошаговое выполнение цикла при нажатии на кнопку. Среда.

Как сделать в программе выход при нажатии на кнопку?
Как с помощью mouseclicked в java сделать выход из программы при нажатии на кнопку?

try{ String currow=jTable1.getModel().getValueAt(jTable1.convertRowIndexToModel(jTable1.getSelectedRow()), 0).toString(); AddDrop Red=new AddDrop(df, currow); } catch (Exception e){ JOptionPane.showMessageDialog(null,"Выберите строку"); }

То есть получал значение вида — (выделенная строка, нулевой столбец) — у меня там id было записано, и передавал в конструктор новой формы. А дальше уже строил запрос к базе, выдавал по id из базы сведения и располагал их в нужных мне текстовых полях. Ну и там же делал обновление базы, когда человек нажимал «сохранить».

AddDrop Red=new AddDrop(df, currow);

На df особо внимание не обращайте. Это другой фрейм, нужный мне для обновления, просто его не убрал.
То есть можно записать и так:

try{ //получение значения для того, чтобы потом по нему сделать запрос в базу String currow=jTable1.getModel().getValueAt(jTable1.convertRowIndexToModel(jTable1.getSelectedRow()), 0).toString(); AddDrop Red=new AddDrop(currow); //Создание нового фрейма Red.setVisible(true); //Отображение нового фрейма } catch (Exception e){ JOptionPane.showMessageDialog(null,"Выберите строку"); }

И кусочек конструктора фрейма AddDrop

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
public AddDrop(String b) { initComponents(); //Расположение на фрейме элементов. Код приводить не буду this.setTitle("Редактирование записи"); jButton1.setText("Редактировать"); //Запрос в базу по полученному из таблицы значению try(PreparedStatement pst=Drop.conn.prepareStatement("SELECT name, insta, count_members, members, other FROM InstDrop Where id_drop=?"); ){ pst.setString(1, b); try(ResultSet rs = pst.executeQuery();){ //Заполнение компонентов значениями, полученными из базы while (rs.next()){ autoComboBox1.setSelectedItem(rs.getString(1)); autoComboBox2.setSelectedItem(rs.getString(2)); jTextField2.setText(rs.getString(3)); jTextField3.setText(rs.getString(5)); } } catch(Exception e){ JOptionPane.showMessageDialog(null,"AddDrop, Ошибка редактирования: line=94, Error="+e); } } catch(Exception e){ JOptionPane.showMessageDialog(null,"AddDrop, Ошибка редактирования: line=94, Error="+e); } pack(); }

Alradalion, При запуске программы у меня постоянно вылетает ошибка «выберите строку». Хотя я ее выбираю. В чем может быть причина?

Читайте также:  HTML Frames

Лучший ответ

Сообщение было отмечено иван я как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.Vector.elementData(Vector.java:730) at java.util.Vector.elementAt(Vector.java:473) at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:649) at javaapplication120.DIpp.jButton8ActionPerformed(DIpp.java:1160) at javaapplication120.DIpp.access$1100(DIpp.java:39) at javaapplication120.DIpp$15.actionPerformed(DIpp.java:698) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:688) at java.awt.EventQueue$3.run(EventQueue.java:686) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:702) at java.awt.EventQueue$4.run(EventQueue.java:700) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:699) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

вы английский вообще не понимаете? трудно жить программисту незнающему английский язык, хотябы технический. он же вам пишет, что проблема с индексом.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at javaapplication120.Okno.>(Okno.java:27) at javaapplication120.DIpp.jButton8ActionPerformed(DIpp.java:1162) at javaapplication120.DIpp.access$1100(DIpp.java:39) at javaapplication120.DIpp$15.actionPerformed(DIpp.java:698) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:688) at java.awt.EventQueue$3.run(EventQueue.java:686) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:702) at java.awt.EventQueue$4.run(EventQueue.java:700) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:699) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 12 секунды)

Добавлено через 27 секунд
Doctor_, там я понял в чем ошибка

Читайте также:  Php error xnj ltkfnm

Добавлено через 1 минуту
Всем спасибо я разобрался

Добавлено через 55 минут
Doctor_, Объясните пожалуйста вот эту ошибку

Parametr index out of range (1> number of parameters, which is 0)

Если не ошибаюсь это SQLException. Ну опять какой нибудь SQL мудрённый там написали, вот и не работает.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
jButton1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String pp, kp; pp= jTextField1.getText(); kp=jTextField2.getText(); try { st.executeUpdate("UPDATE reports2016 SET ,the_content_of_the_record='" +kp + "' WHERE "); } catch (SQLException ex) { Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex); } } });

не UPDATE с первого раза не срабатывает? не подскажете в чем проблема может быть. Метод нажатия на кнопку срабатывает каждый раз при нажатии на кнопку, но в СУБД данные обновляются при нажатии на кнопку со второго третьего раза. И при этом никаких ошибок не вываливается

Добавлено через 1 минуту
вот полный код

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
Okno(final String b) { try { this.setTitle("Редактирование записи"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/vanek?user=root&password="); st = DIpp.conn.createStatement(); initComponents(); jButton1.setText("Редактировать"); rs = st.executeQuery("SELECT* FROM reports2016 WHERE >); while (rs.next()) { jTextField1.setText(rs.getString(1)); jTextField2.setText(rs.getString(2)); jTextField3.setText(rs.getString(3)); jTextField4.setText(rs.getString(4)); jTextField5.setText(rs.getString(5)); jTextField6.setText(rs.getString(6)); jTextField7.setText(rs.getString(7)); jTextField8.setText(rs.getString(8)); jTextField9.setText(rs.getString(9)); jTextField10.setText(rs.getString(10)); jTextField11.setText(rs.getString(11)); jTextField12.setText(rs.getString(12)); } fg = b; jButton1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String pp, kp; pp= jTextField1.getText(); kp=jTextField2.getText(); try { st.executeUpdate("UPDATE reports2016 SET ,the_content_of_the_record='" +kp + "' WHERE "); } catch (SQLException ex) { Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex); } } }); // pack(); //st.close(); } catch (SQLException ex) { Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex); } }

Источник

Оцените статью