Подписаться на получение новых статей на почту:

Шаг №45. Создаем оконное приложение на Java для логгера

Всем привет. Как Вы помните в предыдущей статье мы перешли на язык Java для написания небольших приложений по обработки данных, на компьютере, полученных с устройств на микроконтроллере. Также мы условились, что дальнейший материал требует знание начального уровня java. Если его нет, то не расстраивайтесь, самые основы похожи на Си, но объектно-ориентированную часть придется подучить. Литературу я приводил в предыдущей статье.

Итак приступим. Сегодня мы создадим оконное приложение (кнопка и текстовое поле). Также добавим код обработки событий по нажатию на кнопку и закрытия окна. Хочется сказать о том что вариантов написания кода — много, и с помощью какой библиотеки и как создавать приложение решать только Вам. В дальнейшем мы будем работать с данным языком проектируя Android-приложение под умный дом. Ниже приведен код, который выполняет выше описанную задачу.

 

 

import java.awt.*; /*Подключаем библиотеку для создания апплетов и независимых
                                приложений с графическим интерфейсом.*/
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class logWindow extends Frame{   /*Создаем подкласс logWindow  класса Frame*/
      public logWindow ()   /*Конструктор класса*/
      {
            super («Логгер»);    /*Вызываем конструктор суперкласса и передаем ему параметр, в данном случае имя программы*/
            setSize (200,200);  /*Метод суперкласса для установкиразмеров окна, в пикселях*/
            //Создаем объекты
            Button myButton = new Button («Мониторинг»);  /*Создаем кнопку и надпись на  ней*/
            Label myLabel = new Label («Данные логгера»); / Создаем текстовое поле и надпись в нем*/
            add (myLabel, BorderLayout.NORTH); /* С помощью менеджера размещения, располагаем текстовое поле в северной части окна*/    
            add (myButton, BorderLayout.SOUTH); /*Кнопку в южной части*/   
            myButton.addActionListener (new ActionListener () {    /*Для кнопки выбираем событие слушателя, и создаем новое событие в скобках.*/
                  public void actionPerformed (ActionEvent e) {
                        myLabel.setText («Мониторинг»); /*Выполняется действие, т.е. при нажатии на кнопку в поле выводится сообщение  «Мониторинг» */
                  }
            });
      }
      public static void main (String[] args) {      //Точка входа программы
            logWindow log = new logWindow ();      //Создаем объект класса
            log.setVisible (true);                                //Устанавливаем видимость окна
           /*Наше окно запускается и отображается, при нажатии на кнопку меняется надпись в текстовом поле. Что бы закрыть окно необходимо добавить код обработки события, который работает следующим образом: мы вызываем для объекта log метод addWindowListener для того, чтобы назначить слушателя оконных событий. В качестве параметра создаем объект абстрактного класса WindowAdapter, в котором создаем класс и переопределяем метод для обработки события закрытия окна -  dispose.*/
            log.addWindowListener (new WindowAdapter () { 
                  public void windowClosing (WindowEvent e) {    // в качестве аргумента передаем событие
                         e.getWindow ().dispose ();                               // уничтожает объект Frame
            }          
      });
 }
}

Оконное приложение на java

 

Слева на рисунке внешний вид нашего простого оконного приложения на java. На данный момент нас устроит простое меню с одной кнопкой для дальнейших эксперементов. В  следующей статье мы научимся мониторить COM — порт, для приема информации с наших устройств, в данном случае такой же строки, которую мы вывели на терминал в статье №42. На этом все. Всем пока.

 

 

Просмотрено 7676 раз.

Я на Google+

Добавить комментарий

Ваш e-mail не будет опубликован.

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe without commenting