Графички кориснички интерфејс (ГУИ) изграђен помоћу Јава НетБеанс платформа Састоји се од неколико слојева контејнера. Први слој је прозор који се користи за померање апликације по екрану рачунара. Ово је познато као контејнер највишег нивоа, а његов посао је да свим осталим контејнерима и графичким компонентама обезбеди место за рад. Типично за десктоп апликацију, овај контејнер највишег нивоа ће бити направљен помоћу
класа.
Можете да додате било који број слојева у свој ГУИ дизајн, у зависности од његове сложености. Графичке компоненте (нпр. Текстуалне оквире, налепнице, дугмад) можете поставити директно у тај
или их можете груписати у друге контејнере.
Слојеви ГУИ-а познати су као хијерархија задржавања и могу се сматрати породичним стаблом. Ако
је деда који сједи на врху, а следећи контејнер може се сматрати оцем и компонентама које он држи као деца.
За овај пример, направићемо ГУИ са
која садржи две
и а
. Први
ће задржати
и
. Друга
ће задржати
и а
. Само један
(а самим тим и графичке компоненте које садржи) биће видљиве у исто време. Дугме ће се користити за промену видљивости ова два
.
Постоје два начина да се изгради овај ГУИ користећи НетБеанс. Прво је ручно откуцати Јава код који представља ГУИ, о чему се говори у овом чланку. Друга је употреба алата НетБеанс ГУИ Буилдер за изградњу Свинг ГУИ-ова.
Погледајте информације о коришћењу ЈаваФКС-а, а не Свинг-а за креирање ГУИ-ја Шта је ЈаваФКС?
Белешка: Комплетан код овог пројекта је на Пример Јава Цоде за изградњу једноставне ГУИ апликације.
Постављање пројекта НетБеанс
Створити нова Јава Апликацијски пројекат у НетБеанс-у са главном класом Назваћемо га пројектом
Цхецк Цхецк: У прозору Пројекти НетБеанса требало би да буде ГуиАпп1 директоријум највишег нивоа (ако име није подебљано, кликните десним тастером миша на фасциклу и изаберите
). Испод
мапа треба да буде директоријум Соурце Пацкагес
зове ГуиАпп1. Ова мапа садржи главну класу која се зове
.јава.
Пре него што додамо било који Јава код, додајте следећи увоз на врх
класе, између
линија и
:
Овај увоз значи да ће нам све класе потребне за израду ове ГУИ апликације бити на располагању.
У оквиру главне методе додајте ову линију кода:
То значи да је прво што треба да се направи ново
објекта. Лепа је пречица, на пример, за програме, јер нам треба само један час. Да би ово функционисало, потребан нам је конструктор за
класе, па додајте нови метод:
У ову методу ставићемо сав Јава код потребан за креирање ГУИ-ја, што значи да ће свака линија од сада бити унутар
метод.
Напомена о дизајну: Можда сте видели објављен Јава код који показује класу (тј.
) продужено од а
. Ова класа се затим користи као главни прозор ГУИ-ја за апликацију. Заиста не постоји потреба да се то ради за нормалну ГУИ апликацију. Једини пут када бисте то желели продужити
класа је ако требате направити одређенији тип
(Погледај
за више информација о прављењу подразреда).
Као што је раније поменуто, први слој ГУИ је прозор апликације направљен од
. Да бисте креирали
објекта, позовите
конструктор:
Затим ћемо подесити понашање у прозору ГУИ апликације користећи ова четири корака:
1. Проверите да ли се апликација затвара када корисник затвори прозор тако да се у позадини не настави покретати непознато:
2. Подесите наслов прозора тако да прозор нема празну насловну траку. Додајте ову линију:
3. Подесите величину прозора тако да прозор буде величине тако да се у њега уклапају графичке компоненте.
Напомена о дизајну: Алтернативна опција за подешавање величине прозора је позивање
метода
класа. Овом методом се израчунава величина прозора на основу графичких компоненти које садржи. Како овој апликацији не треба да мења величину прозора, ми ћемо је само користити
метод.
4. Центрирајте прозор да би се приказао на средини екрана рачунара тако да се не појави у горњем левом углу екрана:
Додавање два ЈПанела
Две линије овде стварају вредности за
и
објеката које ћемо ускоро створити, користећи два
низови. То олакшава уношење неких примјера уноса за те компоненте:
Креирајте први ЈПанел објект
Сада, направимо прво
објекта. Садржи а
и а
. Сва три су створена помоћу својих конструкторских метода:
Напомене о горња три ретка:
- Тхе
ЈПанел
декларирана је променљива коначни. То значи да варијабла може да држи самоЈПанел
створено у овој линији. Резултат тога је да варијаблу можемо користити у унутрашњој класи. Постаће очигледно зашто желимо касније у шифри. - Тхе
ЈЛабел
иЈЦомбоБок
имају вредности које су им прослеђене ради постављања њихових графичких својстава. Ознака ће се појавити као "Фруитс:" и сада ће у оквиру за поље имати вредности садржане уСадржај воћа
низ најављен раније. - Тхе
додати()
методаЈПанел
ставља у њега графичке компоненте. АЈПанел
користи ФловЛаиоут као подразумевани лаиоут манагер. Ово је у реду за ову апликацију јер желимо да етикета сједи поред комбиноване кутије. Све док додамоЈЛабел
прво ће изгледати у реду:
Креирајте други ЈПанел објект
Друга
следи исти образац. Додаћемо
и а
и поставите вредности тих компоненти на "Поврће:" и на друго
низ
. Једина друга разлика је употреба
метода за скривање
. Не заборавите да ће бити
контрола видљивости њих двојице
. Да би ово функционисало, треба бити невидљив у старту. Додајте ове редове да бисте поставили други
:
Једна линија коју ваља поменути у горњем коду је употреба
метода
. Тхе
Вриједност даје листи приказ предмета које садржи у два ступца. То се назива "новинским стилом" и леп је начин за приказивање листе ставки, а не традиционалног вертикалног ступца.
Додавање завршних додира
Последња потребна компонента је
за контролу видљивости
с. Вредност пренесена у
конструктор поставља ознаку дугмета:
Ово је једина компонента која ће дефинисати слушатеља догађаја. Догађај се дешава када корисник комуницира са графичком компонентом. На пример, ако корисник кликне на дугме или упише текст у текстни оквир, догоди се догађај.
Слушалац догађаја каже апликацији шта да ради кад се догађај догоди.
користи класу АцтионЛистенер за "слушање" за клик на дугме од стране корисника.
Креирајте Листе за догађаје
Будући да ова апликација извршава једноставан задатак када се кликне на дугме, можемо користити анонимну интерну класу да дефинишемо слушаоца догађаја:
Ово може изгледати као застрашујући код, али само га морате разбити да бисте видели шта се дешава:
- Прво, ми зовемо
аддАцтионЛистенер
методаЈБуттон
. Ова метода очекује инстанцуАцтионЛистенер
класа, која је класа која слуша догађај. - Затим креирамо инстанцу
АцтионЛистенер
класе декларирањем новог објекта користећинови АцтионЛистенер ()
а затим пружање анонимне унутрашње класе - што је сав код унутар коврчавих заграда. - Унутар анонимне унутрашње класе додајте методу која се зове
ацтионПерформед ()
. Ово је метода која се позива када се кликне на дугме. Све што је потребно код ове методе је употребасетВисибле ()
да бисте променили видљивостЈПанел
с.
Додајте ЈПанеле у ЈФраме
За крај, морамо додати два
песак
до
. Подразумевано, а
користи БордерЛаиоут лаиоут манагер. То значи да постоји пет области (преко три реда)
која може да садржи графичку компоненту (НОРТХ, {ВЕСТ, ЦЕНТЕР, ЕАСТ}, СОУГХ). Наведите ово подручје помоћу
метода:
Подесите ЈФраме да буде видљив
Коначно, сви горе наведени коди не би били ни за шта ако не поставимо
бити видљив:
Сада смо спремни да покренемо пројекат НетБеанс за приказ прозора апликације. Кликом на дугме пребацићете се са приказивања комбиноване листе или листе.