Компоненты пользовательского интерфейса иерархия компонентов java

Русские Блоги

Графический интерфейс пользователя Java 1 — Обзор GUI, AWT, компонентов и контейнеров

Графический интерфейс пользователя (сокращенно GUI, также известный как графический интерфейс пользователя) относится к пользовательскому интерфейсу, работающему на компьютере, который отображается графически. По сравнению с интерфейсом командной строки, который использовался на ранних компьютерах, графический интерфейс более приемлем для пользователей. Графический интерфейс пользователя включает окно и строку меню. Компоненты, такие как панели инструментов и другие элементы экрана. Компоненты графического интерфейса можно разделить на две категории: базовые компоненты и контейнеры в соответствии с их функциями: основные компоненты графического интерфейса, которые не могут вместить другие компоненты, такие как элементы графического интерфейса, такие как кнопки и текстовые поля. Контейнер — это специальный компонент, который можно использовать для хранения других компонентов, таких как окна, диалоговые окна и т. Д.

Java предоставляет Java.awt и java.swing. Компонент абстрактного класса в пакете java.awt является общим родительским классом для всех компонентов javaGUI и определяет базовые характеристики всех компонентов графического интерфейса. Java.swing построен на основе awt, который использует базовые компоненты awt, включая графику, цвета, шрифты и менеджеры компоновки.

Использование awt в java — это самый простой способ работы с графикой, но поскольку каждый компонент должен потреблять системные ресурсы, разработчики улучшили awt, и появляется свинг.

Если мы хотим отображать кнопки, текстовые поля и т. Д. В окне, нам нужно поместить эти компоненты в контейнер. В java.awt есть в основном два класса контейнеров: класс Window, класс панели и класс апплета. Однако класс Panel должен быть помещен в контейнер Frame верхнего уровня и обычно не используется независимо. Точно так же мы можем понимать класс Panel и его подклассы как промежуточный контейнер.Компоненты могут быть помещены в этот промежуточный контейнер или в контейнер верхнего уровня. Почему вы говорите, что это в основном потому, что позже мы будем использовать несколько менеджеров компоновки в одном окне.

Давайте посмотрим на иерархию компонентов в Java:

Мы можем быть сбиты с толку, когда увидим это. Компоненты в Java, упомянутые выше, должны быть помещены в контейнеры, но Frame и Panel также являются компонентами. Разве они не должны быть контейнерами? Контейнер Java также является компонентом, но он может содержать другие компоненты.

Читайте также:  How to hide keyboard kotlin

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

Надеюсь, это будет для вас полезно. Оно плохо написано. Если вы ошибаетесь, укажите, и я изменю его.

Источник

Руководство по Java AWT

Если мы говорим о программировании GUI, Java предоставляет богатый набор библиотек для разработки высокоинтерактивных графических интерфейсов, заключенных в AWT API. В этом уроке по Java AWT я кратко ознакомлю вас с его компонентами.

Ниже приведены темы, рассматриваемые в этом руководстве:

  • Что такое Java AWT?
  • Особенности
  • Аспекты
  • Иерархия
  • Компоненты
  • Разработка калькулятора с помощью Java AWT

Что такое AWT в Java?

Abstract Window Toolkit (AWT) – это инструментарий классов в Java, который помогает программисту разрабатывать компоненты графического и графического интерфейса пользователя. Он является частью JFC (Java Foundation Classes), разработанной Sun Microsystems.

AWT API в Java в основном состоит из полного набора классов и методов, которые необходимы для упрощенного создания и управления графическим интерфейсом пользователя (GUI). Он был разработан для предоставления общего набора инструментов для проектирования кроссплатформенных графических интерфейсов.

Одной из важных особенностей AWT является то, что он зависит от платформы. Это означает, что инструменты AWT используют нативные наборы инструментов платформ, которые они внедряют.

Этот подход помогает сохранить внешний вид каждой платформы. Но, как уже говорилось, все идет с ценой, у этого подхода есть существенный недостаток. При выполнении на разных платформах из-за зависимости платформы она будет выглядеть по-разному на каждой платформе. Это затрудняет согласованность и эстетику приложения.

Особенности AWT в Java

  • AWT – это набор компонентов собственного интерфейса пользователя.
  • Он основан на надежной модели обработки событий
  • Он предоставляет графические и графические инструменты, такие как формы, цвета и классы шрифтов.
  • AWT также использует менеджеры по расположению, которые помогают в увеличении гибкости расположения окон
  • Классы передачи данных также являются частью AWT, которая помогает вырезать и вставлять через родной буфер обмена платформы
  • Поддерживает широкий спектр библиотек, необходимых для создания графики для игровых продуктов, банковских услуг, образовательных целей и т. д.

AWT UI Аспекты

Любой пользовательский интерфейс будет состоять из трех объектов:

  • Элементы пользовательского интерфейса: они относятся к основным визуальным элементам, которые видны пользователю и используются для взаимодействия с приложением. AWT в Java предоставляет полный список широко используемых и распространенных элементов.
  • Макеты: они определяют, как элементы пользовательского интерфейса будут организованы на экране, и обеспечивают окончательный внешний вид графического интерфейса.
  • Поведение: они определяют события, которые должны происходить, когда пользователь взаимодействует с элементами пользовательского интерфейса.
Читайте также:  Изучаем java кэти сьерра берт бейтс 2 издание

Иерархия

AWT иерархия

Ниже я показал общее описание класса java.awt.Component:

public abstract class Component extends Object implements ImageObserver, MenuContainer, Serializable< //class body >

AWT Компоненты

1. Контейнеры

Контейнер в Java AWT – это компонент, который используется для хранения других компонентов, таких как текстовые поля, кнопки и т. д. Он является подклассом java.awt.Component и отвечает за отслеживание добавляемых компонентов. AWT в Java предоставляет четыре типа контейнеров.

Типы Контейнеров

2. Кнопка

Класс java.awt.Button используется для создания помеченной кнопки. Компонент графического интерфейса, который запускает определенный запрограммированный при нажатии на него. Класс Button имеет два конструктора:

//Construct a Button with the given label public Button(String btnLabel); //Construct a Button with empty label public Button();

Несколько методов, предоставляемых этим классом, перечислены ниже:

//Get the label of this Button instance public String getLabel(); //Set the label of this Button instancenbsp;nbsp;nbsp; public void setLabel(String btnLabel); //Enable or disable this Button. Disabled Button cannot be clicked public void setEnable(boolean enable);

3. Текстовое поле

Класс java.awt.TextField создает однострочное текстовое поле для ввода текста пользователями. Класс TextField имеет три конструктора:

//Construct a TextField instance with the given initial text string with the number of columns. public TextField(String initialText, int columns); //Construct a TextField instance with the given initial text string. public TextField(String initialText); //Construct a TextField instance with the number of columns. public TextField(int columns);

Вот несколько методов, предоставляемых классом TextField:

// Get the current text on this TextField instance public String getText(); // Set the display text on this TextField instance public void setText(String strText); //Set this TextField to editable (read/write) or non-editable (read-only) public void setEditable(boolean editable);

4. Метка

Класс java.awt.Label предоставляет текстовую строку с описанием, видимую в графическом интерфейсе. Объект метки AWT – это компонент для размещения текста в контейнере. Класс Label имеет три конструктора:

// Construct a Label with the given text String, of the text alignment public Label(String strLabel, int alignment); //Construct a Label with the given text String public Label(String strLabel); //Construct an initially empty Label public Label();

Этот класс также предоставляет 3 константы:

public static final LEFT; // Label.LEFT public static final RIGHT; // Label.RIGHT public static final CENTER; // Label.CENTER

Ниже я перечислил открытые методы, предоставляемые этим классом:

public String getText(); public void setText(String strLabel); public int getAlignment(); //Label.LEFT, Label.RIGHT, Label.CENTER public void setAlignment(int alignment);

5. Холст

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

Читайте также:  Красивый задний фон html

6. Выбор

Класс выбора используется для представления всплывающего меню выбора. Выбранный вариант отображается в верхней части данного меню.

7. Полоса прокрутки

Объект класса Scrollbar используется для добавления горизонтальной и вертикальной полосы прокрутки в GUI. Это позволяет пользователю видеть невидимое количество строк и столбцов.

8. Список

Объект класса List представляет собой список текстовых элементов. Используя класс List, пользователь может выбрать либо один элемент, либо несколько элементов.

9. CheckBox

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

Разработка калькулятора с помощью Java AWT

Здесь я покажу вам, как создать калькулятор с помощью AWT, где вы сможете выполнять основные математические операции. Ниже приведен скриншот того, как будет выглядеть ваш калькулятор.

Теперь, чтобы построить это, вам нужно ввести следующий код:

package edureka.awt; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; class Calculator extends Frame implements ActionListener < Label lb1,lb2,lb3; TextField txt1,txt2,txt3; Button btn1,btn2,btn3,btn4,btn5,btn6,btn7; public Calculator() < lb1 = new Label("Var 1"); lb2 = new Label("Var 2"); lb3 = new Label("Result"); txt1 = new TextField(10); txt2 = new TextField(10); txt3 = new TextField(10); btn1 = new Button("Add"); btn2 = new Button("Sub"); btn3 = new Button("Multi"); btn4 = new Button("Div"); btn5 = new Button("Mod"); btn6 = new Button("Reset"); btn7 = new Button("Close"); add(lb1); add(txt1); add(lb2); add(txt2); add(lb3); add(txt3); add(btn1); add(btn2); add(btn3); add(btn4); add(btn5); add(btn6); add(btn7); setSize(200,200); setTitle("Calculator"); setLayout(new FlowLayout()); //setLayout(new FlowLayout(FlowLayout.RIGHT)); //setLayout(new FlowLayout(FlowLayout.LEFT)); btn1.addActionListener(this); btn2.addActionListener(this); btn3.addActionListener(this); btn4.addActionListener(this); btn5.addActionListener(this); btn6.addActionListener(this); btn7.addActionListener(this); >public void actionPerformed(ActionEvent ae) < double a=0,b=0,c=0; try < a = Double.parseDouble(txt1.getText()); >catch (NumberFormatException e) < txt1.setText("Invalid input"); >try < b = Double.parseDouble(txt2.getText()); >catch (NumberFormatException e) < txt2.setText("Invalid input"); >if(ae.getSource()==btn1) < c = a + b; txt3.setText(String.valueOf(c)); >if(ae.getSource()==btn2) < c = a - b; txt3.setText(String.valueOf(c)); >if(ae.getSource()==btn3) < c = a * b; txt3.setText(String.valueOf(c)); >if(ae.getSource()==btn4) < c = a / b; txt3.setText(String.valueOf(c)); >if(ae.getSource()==btn5) < c = a % b; txt3.setText(String.valueOf(c)); >if(ae.getSource()==btn6) < txt1.setText("0"); txt2.setText("0"); txt3.setText("0"); >if(ae.getSource()==btn7) < System.exit(0); >> public static void main(String[] args) < Calculator calC = new Calculator(); calC.setVisible(true); calC.setLocation(300,300); >>

Как вы могли заметить, здесь мы использовали только функциональные возможности. Вы всегда можете добавить больше функций в свое приложение и создать полноценный калькулятор.

Источник

Оцените статью