|
|
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Здравствуйте всем. Помогите мне, пожалуйста, можете мне подсказать как вызвать одну форму в другой, сохранить некоторые значения второй формы и передать их в первую. Может где-нибудь это уже обсуждалось... Спасибо всем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2012, 17:43:05 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Вопрос самое то как для вечера пятницы. В Javа нет взаимодействия форм. Есть взаимодействие классов. Забудьте про формы и подумайте можно ли передать данные из экземпляра в одного класса в экземпаляр другого. Нужен ли для этого метод, например? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2012, 17:53:02 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, А если нужно передать данные, найденные во второй форме и передать их на первую. Что же делать тогда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 14:45:07 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Например, во второй форме нахожу определенную фамилию из базы данных и мне нужно передать ее в первую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 14:46:10 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Я только недавно всё вот тут расписывал. /topic/974735 Вам нужно отделить модель от представления. Представление слушает события и отображает модель. Модель нотифицирует слушателей об изменениях. Первая форма, что-то вычислила - изменила модель. Модель оповестила слушателей (обе формы), формы перерисовали своё состояние. Вторая форма обновляет модель - происходит всё то же самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 14:48:22 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Вот, например у меня проект с двумя фреймами. Я его привела в приложенные. Там я хотела бы, чтобы значение jtextfield1 из FrameB по нажатию кнопки jbutton1 сохранилось и записалось в jtextfield1 из FRameA. Кнопка jbutton1 из FRameA для того, чтобы показать второй фрейм. Работаю с NetBeans IDE 7.2. Пожалуйста, помогите мне. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 15:49:29 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Helen_Cobskee, Blazkowicz уже достаточно подробно расписал, давайте по частям, что вызывает затруднения? Что уже сделано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 15:56:46 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Лагман, Я совсем новичок в java. Раньше работала на Delphi 7 и на C#. А теперь перешла на Java, хотелось бы, чтоб вы помогли мне разобраться на примере. Я загрузила в приложенные маленький проект, Вы можете помочь разобраться? Конечно, может быть, как Вы говорите, он уже все прописал, но я не очень поняла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 16:15:43 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Helen_CobskeeЯ совсем новичок в java. Раньше работала на Delphi 7 и на C#. А теперь перешла на Java, хотелось бы, чтоб вы помогли мне разобраться на примере. Я загрузила в приложенные маленький проект, Вы можете помочь разобраться? Конечно, может быть, как Вы говорите, он уже все прописал, но я не очень поняла. Задавайте конкретные вопросы. У вас всё сводиться к тому что "я новичек, что-то натыкала в нетбинсе, помогите мне". Начните с того что создайте в одном классе метод. И вызовите его из другого-класса, передав ссылку на экземпляр через this. Это сложно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 16:19:08 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Все, все. Разобралась во всем. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 16:53:01 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Теперь у меня точный вопрос. Вот код для FRameA: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package GUI; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JButton; import javax.swing.*; /** * * @author IT3 */ public class FRameA extends javax.swing.JFrame { /** * Creates new form FRameA */ FrameB parent; String dispFieldText; FRameA(FrameB parent) { this.parent = parent; } public FRameA() { initComponents(); } /* private FRameA() { throw new UnsupportedOperationException("Not yet implemented"); } */ /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jTextField1 = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jTextField1.setText("jTextField1"); jButton1.setText("jButton1"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jButton2.setText("jButton2"); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(156, 156, 156) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(69, 69, 69) .addComponent(jButton1) .addGap(42, 42, 42) .addComponent(jButton2))) .addContainerGap(128, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(40, 40, 40) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 133, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton1) .addComponent(jButton2)) .addGap(84, 84, 84)) ); pack(); }// </editor-fold> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: new FrameB().setVisible(true); } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: dispFieldText = parent.jTextField1.getText(); this.jTextField1.setText(dispFieldText); } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(FRameA.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(FRameA.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(FRameA.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(FRameA.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { new FRameA().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JTextField jTextField1; // End of variables declaration } А вот код для FrameB: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package GUI; /** * * @author IT3 */ import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JButton; import javax.swing.*; public class FrameB extends javax.swing.JFrame { /** * Creates new form FrameB */ public FrameB() { initComponents(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jTextField1 = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jTextField1.setText("jTextField1"); jButton1.setText("jButton1"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(147, 147, 147) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jButton1) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(137, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(46, 46, 46) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 117, Short.MAX_VALUE) .addComponent(jButton1) .addGap(94, 94, 94)) ); pack(); }// </editor-fold> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.setVisible(false); } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(FrameB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(FrameB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(FrameB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(FrameB.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new FrameB().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton jButton1; public javax.swing.JTextField jTextField1; // End of variables declaration } Из FRameA jbutton1 показывает FrameB, а jbutton2 должен был вывести значение из jTextFiled1 из FrameB в поле jTextField1 из FRameA. Но при нажатии на эту кнопку у меня выдает ошибку: run: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at GUI.FRameA.jButton2ActionPerformed(FRameA.java:106) at GUI.FRameA.access$100(FRameA.java:14) at GUI.FRameA$2.actionPerformed(FRameA.java:63) 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:713) at java.awt.EventQueue.access$000(EventQueue.java:104) at java.awt.EventQueue$3.run(EventQueue.java:672) at java.awt.EventQueue$3.run(EventQueue.java:670) 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:686) at java.awt.EventQueue$4.run(EventQueue.java:684) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:683) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139) at java.awt.EventDispatchThread.run(EventDispatchThread.java:97) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2012, 09:12:18 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Helen_Cobskee, то что у вас указано какая ошибка "java.lang.NullPointerException" и где она возникла "GUI.FRameA.jButton2ActionPerformed(FRameA.java:106)" вас не наводит ни на какие мысли? Поставьте там точку останова и посмотрите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2012, 10:48:44 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Ну если бы я все это понимала, я не просила бы о помощи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2012, 13:34:02 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Helen_CobskeeНу если бы я все это понимала, я не просила бы о помощи. Вы опять пишете то что к вашей проблеме не относится. Вы знаете что такое NullPointerException? Если не знаете и не можете разобраться, то спросите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2012, 13:52:41 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Не знаю. Помогите разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2012, 14:10:23 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Helen_CobskeeНе знаю. Помогите разобраться. http://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2012, 14:12:25 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, В моем случае, Вы можете сказать, к чему это относится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2012, 14:32:31 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Helen_CobskeeВ моем случае, Вы можете сказать, к чему это относится? Об этом вам говорит stacktrace: (FRameA.java:106) Вы предлагаете нам в вашем коде до 106 досчитать? Или сами в IDE посмотрите? 106 это номер строки, если что. Хотя там ещё и имя метода указано jButton2ActionPerformed Там у вас только 2 строки dispFieldText = parent.jTextField1.getText(); this.jTextField1.setText(dispFieldText); Либо parent == null либо parent.jTextField1 == null либо this.jTextField1 == null NPE это, кстати одна из причин не использовать такие цепочки вызовов. Чем меньше точек в одной строке, тем лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2012, 14:37:12 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Всем привет. Здравствуйте всем. Я уже задавала подобный вопрос и, вроде бы, все было понятно, но сейчас у меня немного другого вида ошибка. Суть в следующем: У меня есть фрейм ConnWithTable, созданный в конструкторе фреймов в NetBeans 7.2. и фрейм SearchRecFrame. Из ConnWithTable провожу вывод фрейма SearchRecFrame, вот код Код: java 1. 2. 3. 4. 5. 6. 7. 8. На ConnWithTable у меня расположена таблица jtable и несколько кнопок. На SearchRecFrame мне нужно сделать так, чтобы я вводил значения и по этим значениям нашел соответствующую запись на jtable из ConnWithTable Вот как я это делаю Создаю переменную и конструктор: Код: java 1. 2. 3. 4. 5. 6. А затем в процедуре обработки события нажатия кнопки делаю вот так: Код: java 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. Но у меня выходит ошибка Код: java 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. Я знаю суть ошибки, но не знаю, как это исправить, помогите мне, пожалуйста. Спасибо всем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 15:48:24 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Привожу проект, если будет необходимо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 15:49:24 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Helen_Cobskee, Во - первых, после этого вводил значения и по этим значениям нашел мне стало интересно какого вы пола. Во-вторых, конструктор с параметром для SearchRecFrame вы создали, но им ни разу не воспользовались, отсюда NPE. Поставьте точку останова, пройдитесь по коду отладчиком и все сразу увидите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 16:08:58 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
javapecker, Это была абсолютная случайность, я - девушка. Я знаю, что у меня NullPointer означает, но не знаю как исправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2012, 09:06:41 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Helen_Cobskee Я знаю, что у меня NullPointer означает, но не знаю как исправить. вы читаете только половину сообщения? Я же написал как исправить. конструктор с параметром для SearchRecFrame вы создали, но им ни разу не воспользовались, отсюда NPE Вот ваш конструктор с параметром, который инициализирует parent1 Код: sql 1. 2. 3. 4. А создаете вы SearchRecFrame без использования этого конструктора: Код: java 1. 2. 3. 4. parent1 остался неинициализированным. Слова про отладчик вы тоже проигнорировали почему-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2012, 11:41:31 |
|
||
|
Взаимодействие форм
|
|||
|---|---|---|---|
|
#18+
Helen_Cobskee, Имеем следующий вывод Код: java 1. 2. Самый верх это наше исключение, оно говорит что мы пытаемся вызвать метод или получить доступ к полю у не инстанцированного объекта. Код: java 1. 2. Код: java 1. 2. Теперь вернемся к стак-трейсу, вывод SearchRecFrame.java:147 говорит нам в каком классе и на какой строчке падает наш exception. Собственно мы просто заново читаем нашу программу и ищем что упустили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2012, 11:56:05 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38035962&tid=2130572]: |
0ms |
get settings: |
15ms |
get forum list: |
28ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
44ms |
get topic data: |
20ms |
get forum data: |
5ms |
get page messages: |
114ms |
get tp. blocked users: |
3ms |
| others: | 293ms |
| total: | 534ms |

| 0 / 0 |
