Воскресенье
20.09.2020
08:06


Форма входа


Приветствую Вас Гость | RSS
Статьи по ORACLE, PL/SQL, Java и немного по SHELL (BASH),...
Главная Каталог статей Регистрация Вход
Главная » Статьи » Java приложения » Java ООП

Передача из JFrame в JDialog и обратно
ЗЫ. для ревнителей всего правильного, пожалуйста не кричите сразу про говнокод, при на приведенном примере внесите свои правки. Специально для этого есть возможность добавить комментарии к статье

package pkg_transfer;

/**
 *
 * @author Akarak
 */
public class Parents extends javax.swing.JFrame {

  static String regard, firstName; // Для панели "По компонентам"
  static Integer on = 0; // Признак работы с панелью "По компонентам"
  static String array[]; // Для панели "Массивом"
  static Integer arr = 0; // Признак работы с панелью "Массивом"
  Integer i = 1; // Признак создания формы JFrame

  /** Creates new form Parents */
  public Parents() {
    initComponents();
  }

  @SuppressWarnings("unchecked")
  // <editor-fold defaultstate="collapsed" desc="Generated Code">
  private void initComponents() {

    pnArray = new javax.swing.JPanel();
    tfSurname = new javax.swing.JTextField();
    btEditArray = new javax.swing.JButton();
    tfBye = new javax.swing.JTextField();
    pnOn = new javax.swing.JPanel();
    tfRegard = new javax.swing.JTextField();
    tfFirstName = new javax.swing.JTextField();
    btEditOne = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("Передача из JFrame в JDialog и обратно");
    addWindowListener(new java.awt.event.WindowAdapter() {
      public void windowActivated(java.awt.event.WindowEvent evt) {
        formWindowActivated(evt);
      }
    });

    pnArray.setBorder(javax.swing.BorderFactory.createTitledBorder("Массивом"));

    tfSurname.setText("Фамилия");

    btEditArray.setText("Редактировать");
    btEditArray.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        btEditArrayActionPerformed(evt);
      }
    });

    tfBye.setText("Пока");

    javax.swing.GroupLayout pnArrayLayout = new javax.swing.GroupLayout(pnArray);
    pnArray.setLayout(pnArrayLayout);
    pnArrayLayout.setHorizontalGroup(
      pnArrayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnArrayLayout.createSequentialGroup()
        .addComponent(tfBye, javax.swing.GroupLayout.DEFAULT_SIZE, 157, Short.MAX_VALUE)
        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
        .addComponent(tfSurname, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
        .addGap(20, 20, 20)
        .addComponent(btEditArray)
        .addContainerGap())
    );

    pnArrayLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {tfBye, tfSurname});

    pnArrayLayout.setVerticalGroup(
      pnArrayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnArrayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
        .addComponent(btEditArray)
        .addComponent(tfSurname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        .addComponent(tfBye, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
    );

    pnOn.setBorder(javax.swing.BorderFactory.createTitledBorder("По компонентам"));

    tfRegard.setText("Привет");

    tfFirstName.setText("Имя");

    btEditOne.setText("Редактировать");
    btEditOne.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        btEditOneActionPerformed(evt);
      }
    });

    javax.swing.GroupLayout pnOnLayout = new javax.swing.GroupLayout(pnOn);
    pnOn.setLayout(pnOnLayout);
    pnOnLayout.setHorizontalGroup(
      pnOnLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnOnLayout.createSequentialGroup()
        .addComponent(tfRegard, javax.swing.GroupLayout.DEFAULT_SIZE, 157, Short.MAX_VALUE)
        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
        .addComponent(tfFirstName, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
        .addGap(18, 18, 18)
        .addComponent(btEditOne))
    );

    pnOnLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {tfFirstName, tfRegard});

    pnOnLayout.setVerticalGroup(
      pnOnLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnOnLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
        .addComponent(tfRegard, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        .addComponent(tfFirstName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        .addComponent(btEditOne))
    );

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
        .addContainerGap()
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
          .addComponent(pnArray, javax.swing.GroupLayout.Alignment.LEADING, 0, 465, Short.MAX_VALUE)
          .addComponent(pnOn, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
        .addComponent(pnOn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
        .addComponent(pnArray, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );

    pack();
  }// </editor-fold>

  private void btEditOneActionPerformed(java.awt.event.ActionEvent evt) {                                          
    // Присваиваем значения
    regard = tfRegard.getText();
    firstName = tfFirstName.getText();
    // Вызываем конструктор
    DescendantsOne dlgOne = new DescendantsOne(this, true);
    // Делаем видимой
    dlgOne.setVisible(true);
  }                                         

  private void btEditArrayActionPerformed(java.awt.event.ActionEvent evt) {                                            
    // Присваиваем значения
    String array_local[] = {tfBye.getText(), tfSurname.getText()};
    array = array_local;
    // Вызываем конструктор
    DescendantsArray dlgArray = new DescendantsArray(this, true);
    // Делаем видимой
    dlgArray.setVisible(true);
  }                                           

  private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
    // Обработка полученных данных
    if (i != 1) { // Проверяем, что событие происходит не при создании формы JFrame
      if (on == 1) { // Работа с панелью "По компонентам"
        tfRegard.setText(regard);
        tfFirstName.setText(firstName);
      }
      if (arr == 1) { // Работа с панелью "Массивом"
        tfBye.setText(array[0]);
        tfSurname.setText(array[1]);
      }
    } else {
      i = 2;
    }
  }                                    

  /**
   * @param args the command line arguments
   */
  public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {

      @Override
      public void run() {
        new Parents().setVisible(true);
      }
    });
  }
  // Variables declaration - do not modify
  private javax.swing.JButton btEditArray;
  private javax.swing.JButton btEditOne;
  private javax.swing.JPanel pnArray;
  private javax.swing.JPanel pnOn;
  private javax.swing.JTextField tfBye;
  private javax.swing.JTextField tfFirstName;
  private javax.swing.JTextField tfRegard;
  private javax.swing.JTextField tfSurname;
  // End of variables declaration
}

package pkg_transfer;

/**
 *
 * @author Akarak
 */
public class DescendantsOne extends javax.swing.JDialog {

  /** Creates new form DescendantsOne */
  public DescendantsOne(java.awt.Frame parent, boolean modal) {
    super(parent, modal);
    initComponents();
    // Получаем значени
    tfRegardOn.setText(Parents.regard);
    tfFirstNameOn.setText(Parents.firstName);
  }

  @SuppressWarnings("unchecked")
  // <editor-fold defaultstate="collapsed" desc="Generated Code">
  private void initComponents() {

    btOkOn = new javax.swing.JButton();
    btCancelOn = new javax.swing.JButton();
    tfRegardOn = new javax.swing.JTextField();
    tfFirstNameOn = new javax.swing.JTextField();

    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

    btOkOn.setText("Принять");
    btOkOn.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        btOkOnActionPerformed(evt);
      }
    });

    btCancelOn.setText("Отменить");
    btCancelOn.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        btCancelOnActionPerformed(evt);
      }
    });

    tfRegardOn.setText("Пусто");

    tfFirstNameOn.setText("Пусто");

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
        .addContainerGap()
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
          .addComponent(tfRegardOn)
          .addComponent(btOkOn, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
          .addComponent(tfFirstNameOn)
          .addComponent(btCancelOn, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
        .addContainerGap()
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
          .addComponent(tfRegardOn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
          .addComponent(tfFirstNameOn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
          .addComponent(btOkOn)
          .addComponent(btCancelOn))
        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );

    pack();
  }// </editor-fold>

  private void btOkOnActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // Присваиваем значения
    Parents.regard = tfRegardOn.getText();
    Parents.firstName = tfFirstNameOn.getText();
    Parents.on = 1; // Ставим признак работы с панелью "По компонентам"
    Parents.arr = 0;
    dispose(); // Закрываем JDialog
  }                                        

  private void btCancelOnActionPerformed(java.awt.event.ActionEvent evt) {                                         
    dispose(); // Закрываем JDialog
  }                                        

  /**
   * @param args the command line arguments
   */
  public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {

      @Override
      public void run() {
        DescendantsOne dialog = new DescendantsOne(new javax.swing.JFrame(), true);
        dialog.addWindowListener(new java.awt.event.WindowAdapter() {

          @Override
          public void windowClosing(java.awt.event.WindowEvent e) {
            System.exit(0);
          }
        });
        dialog.setVisible(true);
      }
    });
  }
  // Variables declaration - do not modify
  private javax.swing.JButton btCancelOn;
  private javax.swing.JButton btOkOn;
  private javax.swing.JTextField tfFirstNameOn;
  private javax.swing.JTextField tfRegardOn;
  // End of variables declaration
}

package pkg_transfer;

/**
 *
 * @author Akarak
 */
public class DescendantsArray extends javax.swing.JDialog {

  /** Creates new form DescendantsOne */
  public DescendantsArray(java.awt.Frame parent, boolean modal) {
    super(parent, modal);
    initComponents();
    // Получаем значени
    // Поскольку при закрытии JDialog используется dispose(), то этот вариант нам подходит
    tfByeArr.setText(Parents.array[0]);
    tfFirstNameArr.setText(Parents.array[1]);
  }

  @SuppressWarnings("unchecked")
  // <editor-fold defaultstate="collapsed" desc="Generated Code">
  private void initComponents() {

    btOkArr = new javax.swing.JButton();
    btCancelArr = new javax.swing.JButton();
    tfByeArr = new javax.swing.JTextField();
    tfFirstNameArr = new javax.swing.JTextField();

    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

    btOkArr.setText("Принять");
    btOkArr.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        btOkArrActionPerformed(evt);
      }
    });

    btCancelArr.setText("Отменить");
    btCancelArr.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        btCancelArrActionPerformed(evt);
      }
    });

    tfByeArr.setText("Пусто");

    tfFirstNameArr.setText("Пусто");

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
        .addContainerGap()
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
          .addComponent(tfByeArr, javax.swing.GroupLayout.Alignment.LEADING)
          .addComponent(btOkArr, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
          .addComponent(tfFirstNameArr)
          .addComponent(btCancelArr, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
        .addContainerGap()
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
          .addComponent(tfByeArr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
          .addComponent(tfFirstNameArr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
          .addComponent(btOkArr)
          .addComponent(btCancelArr))
        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );

    pack();
  }// </editor-fold>

  private void btOkArrActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // Присваиваем значения
    Parents.array[0] = tfByeArr.getText();
    Parents.array[1] = tfFirstNameArr.getText();
    Parents.on = 0; 
    Parents.arr = 1; // Ставим признак работы с панелью "Массивом"
    dispose(); // Закрываем JDialog
  }                                        

  private void btCancelArrActionPerformed(java.awt.event.ActionEvent evt) {                                         
    dispose(); // Закрываем JDialog
  }                                        

  /**
   * @param args the command line arguments
   */
  public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {

      @Override
      public void run() {
        DescendantsArray dialog = new DescendantsArray(new javax.swing.JFrame(), true);
        dialog.addWindowListener(new java.awt.event.WindowAdapter() {

          @Override
          public void windowClosing(java.awt.event.WindowEvent e) {
            System.exit(0);
          }
        });
        dialog.setVisible(true);
      }
    });
  }
  // Variables declaration - do not modify
  private javax.swing.JButton btCancelArr;
  private javax.swing.JButton btOkArr;
  private javax.swing.JTextField tfByeArr;
  private javax.swing.JTextField tfFirstNameArr;
  // End of variables declaration
}

Категория: Java ООП | Добавил: Akarak (03.04.2012)
Просмотров: 4234 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 1
0
1 Akarak   [Материал]
добавлена работа с JTable
Скачать можно отсюда: Передача из JFrame в JDialog и обратно (NetBeans) - добавлена работа с JTable

Имя *:
Email *:
Код *:
Меню сайта

Категории раздела
Java [12]
Консольные приложения
Java ООП [2]

Интересные сайты
  • sql.ru
  • all-oracle.ru
  • oranet.ru
  • oracloid.ru
  • forum.vingrad.ru

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Поиск

    Copyright MyCorp © 2020
    Используются технологии uCoz