50349

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

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

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

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

Русский

2014-01-21

84 KB

4 чел.

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

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

Кафедра 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 и их применению при разработке графического пользовательского интерфейса.


 

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

84346. Утренняя физическая зарядка 51.94 KB
  Стоя подниматься на носки руки поднять через стороны вверх прогнуться вдох; вернуться в исходное положение выдох. Стоя мах левой ногой назад руки махом вперед кисти расслаблены вдох; исходное положение выдох; повторить то же с правой ноги.
84347. Дробные выражения 160 KB
  Так вот, давайте сегодня на уроке будем следовать этому совету писателя, будем активны, внимательны, будем поглощать знания с большим желанием, ведь они пригодятся вам в вашей дальнейшей жизни. Тема нашего занятия «Дробные выражения».
84348. Поэтика рассказа «Бирюк» 32.9 KB
  Задачи: Продолжить формирование умения выявлять причинно-следственные связи в процессе самостоятельной и коллективной работы учащихся их поисковая исследовательская деятельность; Формировать познавательную активность умение решать проблемные ситуации продолжить развитие навыков...
84349. Мостай Кәрим. Уҡытыусыма шиғыры. Сифат тураһында үтелгәндәрҙе ҡабатлау темаһына дәрес 32.21 KB
  Маҡсат: уҡыусыларҙы Башҡортостандың халыҡ шағиры Мостай Кәримдең ҡыҫҡаса биографияһы һәм ижады менән танышыу; Уҡытыусыма шиғырының идея-тематик йөкмәткеһе менән таныштырыу; уҡыусыларҙың сифат тураһындағы белемдәрен нығытыу, телмәрен үҫтереү...
84350. БЕССОЮЗНОЕ СЛОЖНОЕ ПРЕДЛОЖЕНИЕ 68.5 KB
  Обучающие: Формирование навыков постановки знаков препинания в бессоюзном сложном предложении; Закрепление навыка определения смысловых отношений между частями БСП; Формирование навыков стилистического анализа текста; Обучение учащихся связному высказыванию на лингвистическую тему.
84352. Внутренняя политика Екатерины II 25.08 KB
  Цели: Образовательные: изучение личности Екатерины II ознакомление учащихся с ее преобразованиями сформировать у учащихся представления о внутренней политике Екатерины II; Развивающие: создать условия для развития логического и образного и критического мышления...
84354. Измерение и сравнение длины предметов. Знакомство со старинными мерами длины 5.24 MB
  Предметные результаты: Продолжить формирование умений измерять и сравнивать длину предметов различными мерами длины закреплять умение сравнивать длины предметов различными способами развитие глазомера внимания памяти.