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


 

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

44976. Автоколебания нелинейных САУ. Определение параметров автоколебаний 420 KB
  эти параметры могут быть найдены если известны условия при которых система находится на границе устойчивости. Для определения границы устойчивости можно использовать существующие критерии устойчивости для линейных САУ. Критерий Найквиста: Если разомкнутая цепь системы устойчива то для устойчивости замкнутой системы н. Необходимым условием устойчивости явл.
44977. Методы линеаризации нелинейных САУ 1.05 MB
  Методы линеаризации нелинейных САУ. НСдинамика кх описывается нелинми диф урми это сисмы имеющие нелинейную стстю харку. Нелинейность обусловлена нелинейностью статической характеристики одного из элементов системы. Методы линеаризации нелинейных САУ.
44978. Случайные процессы 269.5 KB
  В ряде систем для изучения отдельных звеньев системы применяется специальный ввод в систему случайных воздействий. Среднее значение mft и myt являются не случайными значениями и они связаны между собой через передаточную функцию системы. Ry = M[ytyt] Чтобы получить искомое выражение для искомой функции выходные величины по искомой функции входные воздействия – воспользуемся связью между входной и выходной величиной системы через её весовую функцию. Эту связь можно выразить через передаточную функцию системы.
44979. Оптимальное управление. Постановка задачи оптимального управления. Критерии оптимальности 269 KB
  Постановка задачи оптимального управления. К настоящему времени наибольшее развитие получили 2 направления в теории оптимальности систем: 1 Теория оптимального управления движением систем с полной информацией об объекте и возмущениях; Теории оптимального управления при случайных возмущениях. Для реализации оптимального управления необходимо: Определить цель управления. Изучить все состояния среды функционирования объекта влияющие на прошлое настоящее и будущее процесса управления.
44980. Аналитическое конструирование регуляторов. Постановка задачи 224 KB
  При исследовании качества переходных в линейных САУ вводились разлитые интегральные критерии качества с помощью которых оценивался переходной процесс на бесконечном интервале времени. При рассмотрении интегральных критериев качества мы убедились в том что эти критерии позволяют определить параметры регулятора если задана его структура. Можно поставить более общую задачу: найти закон регулирования аналитическую функцию связывающую управляющую координату и управляющее воздействие при этом доставляющее min интегральному критерию качества.
44981. Методы теории оптимального управления 26 KB
  Методы теории оптимального управления В тех=их задачах на управление накладывается ограничения по энергетическим ресурсам и ограничения на фазовые координаты из соображения прочности и безопасности. Можно выделить 4 основных метода вариц. Исчисления кые испся для решения задач оптимального управления: Применение урия Эйлера Принцип максимума Динамическое программирование Нелинейное программирование Прямой вариционный метод. Основное применение метода испго урие Эйлера – это задачи где экстремалями явлся гладкие фии а...
44982. Адаптивные системы управления. Классификация адаптивных САУ 799 KB
  Адаптивные системы управления. АСАУ могут рассматриваться как сисмы с элементами искусственного интилекта. Назначение АСАУ состоит в том чтобы заменить человекаоператора при принятии решений об улучшении характеристик сис. Оптимальное уприе такими объектами возможно с помощью сис.
44983. Принцип управления. Классификация систем управления 153 KB
  Принцип управления. Классификация систем управления. Существует фундаментальный принцип управления. Мы формируем алгоритм управления формирование управляющего воздействия на ОР.
44984. Алгоритмы и законы регулирования 44 KB
  Алгоритмы и законы регулирования Совокупность предписаний по которым формируется управляющее воздействие на объект регулирования назыв. законом регулирования упр.