Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Очистка поля при повторном вызове диалогового окна 
:(
    Опции темы
XClan
Дата 6.2.2004, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Тут у меня встал вопрос с очисткой поля в диалоговом окне!
ТО есть при повторном вызове диалогового окна почему-то сохраняется старая запись( которую вводил в прошлый раз)
Как при каждом вызове их ощищать?
Я просто пытаюсь понять куда вставить
-------------------------------
| jTextField1.setText(""); |
| super.show(); |
-------------------------------
Значит так имеется стартовый класс JAL.class в ней вызов диалогового окна(Jade.class) методом jade.show - все нормально!
Теперь сам код диалогового окна:
Код

import всяких пакетов;
....
private void initComponents() {
....
       jTextField1 = new javax.swing.JTextField() {
           public void replaceSelection(String content) {
               super.replaceSelection(content);
               String text = getText();
               if ( text.length() >= 3 ) {
                   setText( text.substring(0, 3));
                   int num = 0;
                   java.lang.String str = jTextField1.getText(); /*text - JTextField*/
                   try {
                       num = Integer.parseInt( str );
                   }
                   catch( NumberFormatException ignore ) {
                       jTextField1.setText("");
                       super.show(true);
                   }
                   if (num > 255) {
                       jOptionPane1.showMessageDialog(this,"Ошибка "+ num + " Неверное число\nРазрешается\n от 1 до 255", "Ошибка",
                       jOptionPane1.ERROR_MESSAGE);
                       jTextField1.setText("");
                       super.show(true);
                   }
                   jTextField2.requestFocus();
               }
           }
       };
....
}

private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {
       jTextField1KeyTyped (evt);
   }

private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) {
       int num = 0;
   java.lang.String str = jTextField1.getText();
   try
       {
   num = Integer.parseInt( str );
   }
           catch( NumberFormatException ignore ) {
                   jTextField1.setText("");
                   super.show(true);
           }
   if ( num < 1 ) {
       jTextField1.setText("");
       super.show(true);
   };
   }
.......
}



--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
Alone
Дата 6.2.2004, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: 3
Всего: 6



Как вариант: в коде диалогового окна напиши метод

public void clearFiled(){
jTextField1.setText("");
}

и вызывай его по мере необходимости smile.gif


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
XClan
Дата 7.2.2004, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Что-то никак ,((
Как вызов делать?



--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
Alone
Дата 9.2.2004, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: 3
Всего: 6



Вызов будет происходить перед Jade.show().

Jade.clearField();
Jade.show();


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
DarkDS
Дата 9.2.2004, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Когда я говорил про переоределение show метода я имел ввиду вот это:
Фрайм:
Код

import java.awt.event.*;
import javax.swing.*;

public class JTestFrame extends JFrame
{
private JTestDialog dialog;

public JTestFrame()
{
 super("Test");
 JPanel contentPanel = new JPanel();
 JButton button = new JButton("Show Dialog");
 button.addActionListener( new ActionListener() {
  public void actionPerformed(ActionEvent e)
  {
   dialog.show();
  }
 } );
 contentPanel.add( button );
 setContentPane( contentPanel );
 pack();
 
 dialog = new JTestDialog( this );
}

public static void main( String[] args )
{
 JTestFrame frame = new JTestFrame();
 frame.show();
}
}


Сам диалог:
Код

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JTestDialog extends JDialog
{
private JTextField sampleText;

public JTestDialog( JFrame owner )
{
 super( owner, "Test dialog" );

 JPanel content = new JPanel();
 content.setLayout( new BorderLayout() );
 
 JPanel textpanel = new JPanel( new GridLayout(1,2) );
 textpanel.add(new JLabel("Text field:"));
 sampleText = new JTextField();
 textpanel.add(sampleText);
 content.add( textpanel, BorderLayout.CENTER );
 
 JButton button = new JButton("Close");
 button.addActionListener( new ActionListener()
 {
  public void actionPerformed(ActionEvent e)
  {
   dispose();
  }
 });
 content.add( button, BorderLayout.SOUTH );
 setContentPane( content );
 pack();
}

public void show()
{
 sampleText.setText("");
 super.show();
}
}

PM MAIL   Вверх
XClan
Дата 9.2.2004, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Все равно сохраняется старая запись! ,((((((
АААААААААА! ХЕЕЕЕЕЕЕЕЕЕЕЛьпчик!


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
DarkDS
Дата 9.2.2004, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Можешь полный код привести?
PM MAIL   Вверх
XClan
Дата 9.2.2004, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Да, конечно!
Jade.java
То что вопросы - это русские шрифты на них не обращайте внимания! ,)
Код


import java.lang.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.NumberFormat;

public class Jade extends javax.swing.JDialog {

   /** Creates new form Jade */
   public Jade(java.awt.Frame parent, boolean modal) {
       super(parent, modal);
       initComponents();
       closeType=false;
       
   }

   private void initComponents() {
       jPanel1 = new javax.swing.JPanel();
       jPanel2 = new javax.swing.JPanel();
       jTextField1 = new javax.swing.JTextField() {
           
           public void replaceSelection(String content) {
               super.replaceSelection(content);
               String text = getText();
               if ( text.length() >= 3 ) {
                   setText( text.substring(0, 3));
                   int num = 0;
                   java.lang.String str = jTextField1.getText(); /*text - JTextField*/
                   try {
                       num = Integer.parseInt( str );
                   }
                   catch( NumberFormatException ignore ) {
                       jTextField1.setText("");
                       super.show(true);
                   }
                   if (num > 255) {
                       jOptionPane1.showMessageDialog(this,"?????? "+ num + " ?? ????? ???? ?????\n???????? ????? ???? ?????\n ?? 1 ?? 255", "??????",
                       jOptionPane1.ERROR_MESSAGE);
                       jTextField1.setText("");
                       super.show(true);
                   }
                   jTextField2.requestFocus();
               }
           }
       };
       jLabel1 = new javax.swing.JLabel();
       jTextField2 = new javax.swing.JTextField() {
           public void replaceSelection(String content) {
               super.replaceSelection(content);
               String text = getText();
               if ( text.length() >= 3 ) {
                   setText( text.substring(0, 3));
                   int num = 0;
                   java.lang.String str2 = jTextField2.getText();
                   try {
                       num = Integer.parseInt( str2 );
                   }
                   catch( NumberFormatException ignore ) {
                       jTextField2.setText("");
                       super.show(true);
                   }
                   if ( num > 255 ){
                       jOptionPane1.showMessageDialog(this,"??????: "+ num+ " ?? ????? ???? ?????\n???????? ????? ???? ?????\n ?? 0 ?? 255", "??????",
                       jOptionPane1.ERROR_MESSAGE);
                       jTextField2.setText("");
                       super.show(true);
                   }
                   jTextField3.requestFocus();
               }
           }
       };
       jLabel2 = new javax.swing.JLabel();
       jTextField3 = new javax.swing.JTextField() {
           public void replaceSelection(String content) {
               super.replaceSelection(content);
               String text = getText();
               if ( text.length() >= 3 ) {
                   setText( text.substring(0, 3));
                   int num2 = 0;
                   java.lang.String str3 = jTextField3.getText();
                   try {
                       num2 = Integer.parseInt( str3 );
                   }
                   catch( NumberFormatException ignore ) {
                       jTextField3.setText("");
                       super.show(true);
                   }
                   if ( num2 > 255 ) {
                       jOptionPane1.showMessageDialog(this,"??????: "+ jTextField3.getText()+ " ?? ????? ???? ?????\n???????? ????? ???? ?????\n ?? 0 ?? 255", "??????",
                       jOptionPane1.ERROR_MESSAGE);
                       jTextField3.setText("");
                       super.show(true);
                   }
                   jTextField4.requestFocus();
               }
           }
       };
       jLabel3 = new javax.swing.JLabel();
       jTextField4 = new javax.swing.JTextField() {
           public void replaceSelection(String content) {
               super.replaceSelection(content);
               String text = getText();
               if ( text.length() >= 3 ) {
                   setText( text.substring(0, 3));
                   int num3 = 0;
                   java.lang.String str4 = jTextField4.getText(); /*text - JTextField*/
                   try {
                       num3 = Integer.parseInt( str4 );
                   }
                   catch( NumberFormatException ignore ) {
                       jTextField4.setText("");
                       super.show(true);
                   }
                   if (num3 > 255 ) {
                       jOptionPane1.showMessageDialog(this,"??????: "+ jTextField4.getText()+ " ?? ????? ???? ?????\n???????? ????? ???? ?????\n ?? 0 ?? 255", "??????",
                       jOptionPane1.WARNING_MESSAGE);
                       jTextField4.setText("");
                       super.show(true);
                   }
               }
           }
       };
       jButton1 = new javax.swing.JButton();
       jButton2 = new javax.swing.JButton();
       
       addWindowListener(new java.awt.event.WindowAdapter() {
           public void windowClosing(java.awt.event.WindowEvent evt) {
               closeDialog(evt);
           }
       });
       
       jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
       
       jPanel2.setBorder(new javax.swing.border.TitledBorder(null, "IP Address", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 0, 11), java.awt.Color.black));
       jTextField1.setColumns(3);
       jTextField1.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
       jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
           public void keyTyped(java.awt.event.KeyEvent evt) {
               jTextField1KeyTyped(evt);
           }
           public void keyReleased(java.awt.event.KeyEvent evt) {
               jTextField1KeyReleased(evt);
           }
       });
       
       jPanel2.add(jTextField1);
       
       jLabel1.setText(".");
       jLabel1.setForeground(java.awt.Color.black);
       jPanel2.add(jLabel1);
       
       jTextField2.setColumns(3);
       jTextField2.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
       jPanel2.add(jTextField2);
       
       jLabel2.setText(".");
       jLabel2.setForeground(java.awt.Color.black);
       jPanel2.add(jLabel2);
       
       jTextField3.setColumns(3);
       jTextField3.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
       jPanel2.add(jTextField3);
       
       jLabel3.setText(".");
       jLabel3.setForeground(java.awt.Color.black);
       jPanel2.add(jLabel3);
       
       jTextField4.setColumns(3);
       jTextField4.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
       jPanel2.add(jTextField4);
       
       jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(5, 5, 240, 60));
       
       jButton1.setText("\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c");
       jButton1.addActionListener(new java.awt.event.ActionListener() {
           public void actionPerformed(java.awt.event.ActionEvent evt) {
               jButton1ActionPerformed(evt);
           }
       });
       
       jPanel1.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 70, -1, -1));
       
       jButton2.setText("\u041e\u0442\u043c\u0435\u043d\u0430");
       jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
           public void mouseClicked(java.awt.event.MouseEvent evt) {
               jButton2MouseClicked(evt);
           }
       });
       
       jPanel1.add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 70, -1, -1));
       
       getContentPane().add(jPanel1, java.awt.BorderLayout.WEST);
       
       pack();
   }

   private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {
       jTextField1KeyTyped (evt);
   }

   public void clearField() {
       jTextField1.setText("");
       jTextField2.setText("");
       jTextField3.setText("");
       jTextField4.setText("");
   }

   
   private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {
       closeType=true;
       setVisible(false);
       dispose();
   }

   private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) {
       int num = 0;
   java.lang.String str = jTextField1.getText();
   try
       {
   num = Integer.parseInt( str );
   }
           catch( NumberFormatException ignore ) {
                   jTextField1.setText("");
                   super.show(true);
           }
   if ( num < 1 ) {
       jTextField1.setText("");
       super.show(true);
   };
   }

   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
       closeType=true;
       dispose();
       System.out.println("IP : " + jTextField1.getText() + "." + jTextField2.getText() + "." + jTextField3.getText() + "." + jTextField4.getText());
   }

   /** Closes the dialog */
   private void closeDialog(java.awt.event.WindowEvent evt) {
       closeType=true;
       setVisible(false);
       dispose();
   }

   /**
   * @param args the command line arguments
   */
   public static void main(String args[]) {
       new Jade(new javax.swing.JFrame(), true).show();
   }
 
   public boolean CloseType(){
       return closeType;
   }

       public String address_ed1(){
           return (jTextField1.getText())+ "." +
                  (jTextField2.getText())+ "." +
                  (jTextField3.getText())+ "." +
                  (jTextField4.getText());
     }
     // Variables declaration - do not modify
     private javax.swing.JPanel jPanel1;
     private javax.swing.JPanel jPanel2;
     private javax.swing.JTextField jTextField1;
     private javax.swing.JLabel jLabel1;
     private javax.swing.JTextField jTextField2;
     private javax.swing.JLabel jLabel2;
     private javax.swing.JTextField jTextField3;
     private javax.swing.JLabel jLabel3;
     private javax.swing.JTextField jTextField4;
     private javax.swing.JButton jButton1;
     private javax.swing.JButton jButton2;
     // End of variables declaration
     private javax.swing.JOptionPane jOptionPane1;
     private boolean closeType;
     protected String IP_hash;
}



--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
XClan
Дата 9.2.2004, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Забыл также спросить - почему тут когда я нажимаю на отмену ( private void jButton2MouseClicked) - при выходе заносит запись в jTree, вместо того , чтобы полностью отменила запись и вышла?


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
DarkDS
Дата 9.2.2004, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



А откуда вызывается диалог?
PM MAIL   Вверх
XClan
Дата 9.2.2004, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



С другого файла ( он очень большой )

Там для вызова только и написано вот что:

Код


import ( нужных пакетов);

public class JAL extends javax.swing.JFrame {

       JTree m_tree = null;
       JPopupMenu m_popup = null;
       private static boolean DEBUG = false;
       
   /** Creates new form JAL */
   public JAL() {
      initComponents();
       rootNode = new DefaultMutableTreeNode("All Nodes");
       treeModel = new DefaultTreeModel(rootNode);
       jTree1.setCellRenderer(new MyIconTree());
       jTree1.setModel(treeModel);
       jade=  new Jade(this, true);    // Диалоговое окно о котором идет речь//
   }

.......
   private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {
//****  вызов диалогового окна   ****//
       jade.clearField();
       jade.show();
   }
.......
   private Jade jade;  // Jade.class - дилоговое окно


Ну собственно и все
Thanks!


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
XClan
Дата 10.2.2004, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Пробовал вместо
Код

public void clearFiled(){
jTextField1.setText("");
}


вставил

Код

public void clearField() {
       jTextField1.getParent().validate();
   }


Все равно никак
Похоже это проблема у меня как заноза надолго останется без решения!


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
DarkDS
Дата 10.2.2004, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Эта.., Я вечером гляну... Сорри чутка времени в обрез sad.gif У меня проект заканчиватеся - 12 деадлайн sad.gif
PM MAIL   Вверх
XClan
Дата 13.2.2004, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Неужели никак? sad.gif


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
XClan
Дата 16.2.2004, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Как активизировать address_ed1 по jButton1 ?
А то jButton2 тоже вместо отмены добавляет данные address_ed1!
Плизззз


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1385 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.