Свинг у Јави: знајте како створити ГУИ са примерима



: зарадите концепт свинга у јави са хијерархијом класе свинга и управником распореда са практичном демонстрацијом ГУИ апликације.

Свинг у јави је део Јава темељне класе која је лагана и независна од платформе. Користи се за креирање апликација заснованих на прозорима. Садржи компоненте попут дугмета, траке за помицање, текстуалног поља итд. Састављањем свих ових компоненти чини се графички кориснички интерфејс. У овом чланку ћемо проћи кроз концепте укључене у процес израде апликација помоћу свинг-а . Следе појмови о којима се говори у овом чланку:

Шта је Свинг у Јави?

Свинг ин Јава је лагана ГУИ алатка која има широку палету виџета за изградњу оптимизованих апликација заснованих на прозорима. Део је ЈФЦ (Јава Фоундатион Цлассес). Изграђен је на врху АВТ АПИ-ја и у потпуности је написан на . Независно је од платформе за разлику од АВТ-а и има лагане компоненте.





Постаје лакше градити апликације јер већ имамо ГУИ компоненте попут дугмета, поља за потврду итд. Ово је корисно јер не морамо почети од нуле.

Класа контејнера

Било који која у себи има друге компоненте назива се класа контејнера. За изградњу ГУИ апликација неопходна је најмање једна класа контејнера.



Следе три врсте класа контејнера:

  1. Панел - Користи се за организовање компонената на прозору

  2. Оквир - Прозор који у потпуности функционише са иконама и насловима



  3. Дијалог - То је попут искачућег прозора, али није у потпуности функционалан као оквир

Разлика између АВТ и Свинг

АВТ СВИНГ
  • Зависно од платформе
  • Независно од платформе
  • Не прати МВЦ
  • Прати МВЦ
  • Мање компоненте
  • Моћније компоненте
  • Не подржава прикључни изглед и осећај
  • Подржава изглед и осећај који се могу прикључити
  • Тешка категорија
  • Лагана

Хијерархија класе Јава Свинг

љуљање хијерархије у јава-едурека

Објашњење : Све компоненте у замаху попут ЈБуттон, ЈЦомбоБок, ЈЛист, ЈЛабел наслеђене су из класе ЈЦомпонент која се може додати у класе контејнера. Контејнери су прозори попут оквира и дијалошких оквира. Основне љуљачке компоненте су градивни елементи било које гуи апликације. Методе попут сетЛаиоут замењују задати изглед у сваком контејнеру. Контејнери попут ЈФраме и ЈДиалог могу само додати компоненту себи. Следи неколико компоненти са примерима да бисмо разумели како их можемо користити.

ЈБуттон Цласс

Користи се за стварање означеног дугмета. Коришћење АцтионЛистенера резултираће неком акцијом када се притисне дугме. Наслеђује класу АбстрацтБуттон и независан је од платформе.

Пример:

импорт јавак.свинг. * пример јавне класе {публиц статиц воид маин (Стринг аргс []) {ЈФраме а = нев ЈФраме ('екампле') ЈБуттон б = нев ЈБуттон ('цлицк ме') б.сетБоундс (40,90, 85,20) а.адд (б) а.сетСизе (300,300) а.сетЛаиоут (нулл) а.сетВисибле (труе)}}

Излаз:

је постдипломац и савладава исто

Класа ЈТектФиелд

Наслеђује класу ЈТектЦомпонент и користи се за омогућавање уређивања текста у једном реду.

Пример:

компаније које користе р програмски језик
импорт јавак.свинг. * пример јавне класе {публиц статиц воид маин (Стринг аргс []) {ЈФраме а = нев ЈФраме ('екампле') ЈТектФиелд б = нев ЈТектФиелд ('едурека') б.сетБоундс (50,100,200,30) а .адд (б) а.сетСизе (300.300) а.сетЛаиоут (нулл) а.сетВисибле (труе)}}

Излаз:

ЈСцроллБар Цласс

Користи се за додавање траке за померање, хоризонталне и вертикалне.

Пример:

импорт јавак.свинг. * пример класе {пример () {ЈФраме а = нови ЈФраме ('пример') ЈСцроллБар б = нови ЈСцроллБар () б.сетБоундс (90,90,40,90) а.адд (б) а. сетСизе (300,300) а.сетЛаиоут (нулл) а.сетВисибле (труе)} публиц статиц воид маин (Стринг аргс []) {нови пример ()}}

Излаз:

Класа ЈПанел

Наслеђује класу ЈЦомпонент и пружа простор за апликацију која може приложити било коју другу компоненту.

импорт јава.авт. * импорт јавак.свинг. * јавна класа Пример {Пример () {ЈФраме а = нови ЈФраме ('пример') ЈПанел п = нови ЈПанел () п.сетБоундс (40,70,200,200) ЈБуттон б = нови ЈБуттон ('кликни на мене') б.сетБоундс (60,50,80,40) п.адд (б) а.адд (п) а.сетСизе (400,400) а.сетЛаиоут (нулл) а.сетВисибле (труе)} публиц статиц воид маин (Стринг аргс []) {нови пример ()}}

Излаз:

ЈМену Цлас с

Наслеђује класу ЈМенуИтем и представља падајућу компоненту менија која се приказује на траци менија.

импорт јавак.свинг. * цласс Пример {мени ЈМену ЈМенуИтем а1, а2 Пример () {ЈФраме а = нови ЈФраме ('Пример') мени = нови ЈМену ('опције') ЈМенуБар м1 = нови ЈМенуБар () а1 = нови ЈМенуИтем ( 'пример') а2 = нови ЈМенуИтем ('пример1') мену.адд (а1) мену.адд (а2) м1.адд (мени) а.сетЈМенуБар (м1) а.сетСизе (400,400) а.сетЛаиоут (нулл) а .сетВисибле (труе)} публиц статиц воид маин (Стринг аргс []) {нови пример ()}}

Излаз:

ЈЛист Цласс

Наслеђује класу ЈЦомпонент, објекат класе ЈЛист представља листу текстуалних ставки.

импорт јавак.свинг. * јавна класа Пример {Пример () {ЈФраме а = нови ЈФраме ('пример') ДефаултЛистМодел л = нови ДефаултЛистМодел () л.аддЕлемент ('прва ставка') л.аддЕлемент ('друга ставка') ЈЛист б = нови ЈЛист (л) б.сетБоундс (100,100,75,75) а.адд (б) а.сетСизе (400,400) а.сетВисибле (труе) а.сетЛаиоут (нулл)} публиц статиц воид маин (Стринг аргс [ ]) {нови пример ()}}

Излаз:

ЈЛабел Цласс

Користи се за стављање текста у контејнер. Такође наслеђује класу ЈЦомпонент.

импорт јавак.свинг. * публиц цласс Пример {публиц статиц воид маин (Стринг аргс []) {ЈФраме а = нев ЈФраме ('екампле') ЈЛабел б1 б1 = нев ЈЛабел ('едурека') б1.сетБоундс (40,40, 90,20) а.адд (б1) а.сетСизе (400,400) а.сетЛаиоут (нулл) а.сетВисибле (труе)}}

Излаз:

ЈЦомбоБок Цласс

Наслеђује класу ЈЦомпонент и користи се за приказивање искачућег менија избора.

импорт јавак.свинг. * публиц цласс Пример {ЈФраме а Екампле () {а = нев ЈФраме ('екампле') стринг цоурсес [] = {'цоре јава', 'адванце јава', 'јава сервлет'} ЈЦомбоБок ц = нев ЈЦомбоБок (курсеви) ц.сетБоундс (40,40,90,20) а.адд (ц) а.сетСизе (400,400) а.сетЛаиоут (нулл) а.сетВисибле (труе)} публиц статиц воид маин (Стринг аргс [] ) {нови пример ()}}

Излаз:

Лаиоут Манагер

Да бисмо распоредили компоненте унутар контејнера, користимо менаџер распореда. Следи неколико менаџера менија:

  1. Распоред граница

  2. Изглед протока

  3. Изглед ГридБаг-а

Распоред граница

Подразумевани менаџер изгледа за сваки ЈФраме је БордерЛаиоут. Компоненте поставља на највише пет места, а то су врх, дно, лево, десно и центар.

Изглед протока

ФловЛаиоут једноставно поставља компоненте редом једну за другом, то је задати менаџер распореда за сваки ЈПанел.

ГридБаг Лаиоут

ГридБагЛаиоут смешта компоненте у мрежу која омогућава компонентама да се протежу на више од једне ћелије.

Талент Опен Студио за удруживање података

Пример: Цхат Фраме

импорт јавак.свинг. * импорт јава.авт. * цласс цласс {публиц статиц воид маин (Стринг аргс []) {ЈФраме фраме = нев ЈФраме ('Цхат Фраме') фраме.сетДефаултЦлосеОператион (ЈФраме.ЕКСИТ_ОН_ЦЛОСЕ) фраме.сетСизе (400 , 400) ЈМенуБар об = нев ЈМенуБар () ЈМену об1 = нев ЈМену ('ФИЛЕ') ЈМену об2 = нев ЈМену ('Хелп') об.адд (об1) об.адд (об2) ЈМенуИтем м11 = нев ЈМенуИтем ('Опен ') ЈМенуИтем м22 = нев ЈМенуИтем (' Саве ас ') об1.адд (м11) об1.адд (м22) ЈПанел панел = нев ЈПанел () // панел није видљив у излазу ЈЛабел лабел = нев ЈЛабел (' Ентер Тект ') ЈТектФиелд тф = нев ЈТектФиелд (10) // прихвата до 10 знакова ЈБуттон сенд = нев ЈБуттон (' Сенд ') ЈБуттон ресет = нев ЈБуттон (' Ресет ') панел.адд (лабел) // Компоненте додате помоћу панела Лаиоут Флов .адд (лабел) // Компоненте додате помоћу панел Лаиоут Флов.адд (тф) панел.адд (сенд) панел.адд (ресет) ЈТектАреа та = нев ЈТектАреа () фраме.гетЦонтентПане (). адд (БордерЛаиоут.СОУТХ, панел ) фраме.гетЦонтентПане (). адд (БордерЛаиоут.НОРТХ, тф) фраме.гетЦонтентПане (). адд (Бордер Лаиоут.ЦЕНТЕР, та) фраме.сетВисибле (труе)}}

Ово је једноставан пример за креирање ГУИ-а користећи свинг у Јави.

У овом чланку смо разговарали о свингу у Јави и хијерархији Јава свинг класа. Са свим компонентама које долазе са свингом у Јави, постаје лакше градити оптимизоване ГУИ апликације. Јава програмски језик је структурирани програмски језик и са све већом потражњом постаје изузетно важно савладати све концепте у . Да бисте започели своје учење и постали стручњак за Јава програмирање, пријавите се на Едурека'с .

Имате питање за нас? молимо вас спомените ово у одељку за коментаре овог чланка „Свинг Ин Јава“ и јавићемо вам се што је пре могуће.