50349

Разработка графического интерфейса пользователя с применением технологии javabeans

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы: получение практических навыков работы по созданию компонентов JavaBeans и их применению при разработке графического пользовательского интерфейса.

Русский

2014-01-21

84 KB

2 чел.

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

Національний аерокосмічний університет ім. М.Є. Жуковського ХАІ

Кафедра 603

Лабораторна робота № 8

з дисципліни Програмування інтернет

ХАІ.603.622пст.13З.050103.116332

                             

                                               Виконав студент   гр. 622пст   Нуржанов О.М.             

                                               _______________    (№ групи)            (П.І.Б)

(підпис, дата)

                                               Перевірив: к.т.н., доц. каф. 603 Соколова Є.В.

(наукова ступінь, вчене звання)

                                               _______________________________________

                                                               (підпис, дата)   (П.І.Б)

2013

Тема: Разработка графического интерфейса пользователя

с применением технологии javabeans

Цель работы: получение практических навыков работы по созданию компонентов JavaBeans и их применению при разработке графического пользовательского интерфейса.

Постановка задачи

Разработать и реализовать на языке Java программное приложение для демонстрации применения компонентов JavaBeans при создании графического пользовательского интерфейса. В разрабатываемом приложении применить классы графических компонентов, входящих в состав пакетов java.awt и javax.swing, а также классы менеджеров компоновки для размещения элементов управления в контейнерах. При создании приложения использовать основные концепции модели MVC.

Примечание. В качестве основы можно использовать фрагменты программных приложений, разработанных в предыдущих лабораторных работах.

 

Порядок выполнения работы

  1.  Изучить теоретический материал, связанный с темой данной лабораторной работы, используя конспект лекций, рекомендуемую литературу и документацию, входящую в состав пакета J2SE SDK.
  2.  Дополнить исходный код приложения (из любой предыдущей работы) кодом, который реализует графический интерфейс пользователя и обработку событий,  а именно:
  •  разработать компонент JavaBeans, реализующий панель с элементами управления GUI, предназначенными для ввода исходных данных, отображения результатов работы и управления приложением. В разрабатываемом компоненте предусмотреть генерацию событий, возникающих при изменении некоторых из его свойств;
  •  разработать класс «Вид»(View), реализующий форму с элементами управления GUI на основе разработанного компонента JavaBeans;
  •  разработать класс «Контроллер» (Controller), предназначенный для реализации интерфейса блока прослушивания и распознавания событий от элементов управления GUI, расположенных на форме. В блоке прослушивания реализовать управляющую логику для взаимодействия с классом «Модель» (Model), в котором предусмотреть реализацию прикладной логики приложения;
  •  зарегистрировать блок прослушивания в источнике событий;
  •  разработать класс для тестирования разрабатываемого программного приложения.
  1.  Откомпилировать разработанные и модифицированные классы   и интерфейсы приложения с помощью компилятора javac.exe.
  2.  Протестировать разработанное приложение.    
  3.  Получить документацию на разработанное приложение с помощью утилиты javadoc.exe.
  4.  Сделать выводы по работе.
  5.  Оформить отчет по лабораторной работе в соответствии с предъявляемыми требованиями.
  6.  Защитить работу.

Ход работы

Разработал компоненту с помощью, которой можно рассчитать суму двух элементов. 

Листинг исходного кода приложения с комментариями

package J8_Sasha;

/**

*

* @author Алекс

*/

public class MainPanel extends javax.swing.JPanel

{

   /**

    * Creates new form MainPanel

    */

   public MainPanel() {

       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() {

       jButton1 = new javax.swing.JButton();

       jTextField1 = new javax.swing.JTextField();

       jTextField2 = new javax.swing.JTextField();

       jTextField3 = new javax.swing.JTextField();

       jButton1.setText("Расчитать");

       jButton1.addActionListener(new java.awt.event.ActionListener() {

           public void actionPerformed(java.awt.event.ActionEvent evt) {

               jButton1ActionPerformed(evt);

           }

       });

       jTextField1.setText("Первое число");

       jTextField2.setText("Второе число");

       jTextField3.setEditable(false);

       jTextField3.setText("Результат");

       jTextField3.setToolTipText("");

       javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);

       this.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(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

                   .addComponent(jTextField3)

                   .addComponent(jTextField2)

                   .addComponent(jTextField1))

               .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

       );

       layout.setVerticalGroup(

           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

           .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

               .addContainerGap()

               .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

               .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

               .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

               .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

               .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

               .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

               .addComponent(jButton1)

               .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

       );

   }// </editor-fold>                        

   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

       double n_1 = Double.parseDouble(jTextField1.getText());

       double n_2 = Double.parseDouble(jTextField2.getText());

       jTextField3.setText(String.valueOf(n_1 + n_2));

   }                                        

   // Variables declaration - do not modify                     

   private javax.swing.JButton jButton1;

   private javax.swing.JTextField jTextField1;

   private javax.swing.JTextField jTextField2;

   private javax.swing.JTextField jTextField3;

   // End of variables declaration                   

}

Результаты тестирования программы с краткими комментариями

Выводы по работе

Во время выполнения данной лабораторной работы, я получил практические навыки работы по созданию компонентов JavaBeans и их применению при разработке графического пользовательского интерфейса.


 

А также другие работы, которые могут Вас заинтересовать

62503. Древнерусская культура (устный журнал) 23.44 KB
  Что такое культура высказывания детей Что мы на уроке должны узнать Что значит духовная культура Объясните что значит материальная культура Чем отличается духовная культура от материальной...
62510. Вернись в сказку 24.37 KB
  Задачи: В игровой форме повторить тему Сказки. Какие бывают сказки по содержанию волшебные бытовые про животных 2. Кто создает сказки 9. Сколько букв в слове сказка На каждую из букв подберите название литературной сказки.
62511. Основні географічні закономірності. Зміна часу 63.73 KB
  Аналіз карти часових поясів з метою виявлення основних географічних закономірностей. Обладнання: карта часових поясів зошит для практичних робіт з друкованими основами. Як ви вважаєте яким є призначення карти часових поясів...