what is java awt
Ово упутство за Јава АВТ објашњава шта је то Алат за апстрактни прозор на Јави и сродни концепти као што су АВТ боја, тачка, графика, АВТ вс Свинг итд.:
Упознали смо се са основним терминима ГУИ у једном од наших ранијих водича. У овом упутству ћемо размотрити један од најстаријих ГУИ оквира у Јави под називом „АВТ Фрамеворк“. АВТ је кратки образац за „Апстрактни алат за прозоре“.
АВТ је АПИ за креирање ГУИ апликација на Јави. То је оквир који зависи од платформе, тј. ГУИ компоненте које припадају АВТ нису исте на свим платформама. Према изворном изгледу и стилу платформе, изглед и осећај АВТ компонената такође се мењају.
=> Овде проверите СВЕ Јава туторијале.
Шта ћете научити:
ЈАВА АВТ (Апстрактни алат за прозоре)
Јава АВТ креира компоненте позивањем потпрограма матичних платформи. Отуда ће АВТ ГУИ апликација имати изглед и изглед Виндовс ОС-а док ради на Виндовс-у и Мац ОС-у док изгледа и када се покреће на Мац-у и тако даље. Ово објашњава зависност платформе апликација Абстрацт Виндов Тоолкит.
Због своје зависности од платформе и својеврсне тешке природе компонената, данас се ретко користи у Јава апликацијама. Поред тога, постоје и новији оквири попут Свинга који су лагани и независни од платформе.
Свинг има флексибилније и моћније компоненте у поређењу са АВТ-ом. Свинг нуди компоненте сличне Апстрактном програму прозора, а такође има и напредније компоненте као што су дрвеће, плоче са картицама итд.
Али овде треба напоменути једну ствар Јава Свинг фрамеворк заснован је на АВТ. Другим речима, Свинг је побољшани АПИ и проширује оквир Абстрацт Виндов Тоолкит. Дакле, пре него што пређемо на лекције за Свинг, дајмо преглед овог оквира.
АВТ хијерархија и компоненте
Сада да видимо како изгледа хијерархија Апстрактног прозора у Јава-у.
Доље је дат дијаграм АВТ хијерархије у Јави.
Као што је приказано на горњој слици, основна АВТ компонента „Компонента“ протеже се из класе „Објецт“. Класа компонената је родитељ осталих компонената, укључујући Лабел, Буттон, Лист, Цхецкбок, Цхоице, Цонтаинер итд.
Контејнер је даље подељен на панеле и прозоре. Класа Апплет потиче из панела, док Фраме и Диалог потичу из компоненте Виндов.
Сада ћемо укратко разговарати о овим компонентама.
Класа компонената
Класа Цомпонент је корен хијерархије. Компонента је апстрактна класа и одговорна је за тренутне боје позадине и предњег плана, као и за тренутни фонт текста.
Класа компонената инкапсулира својства и атрибуте визуелне компоненте.
Контејнер
Компоненте АВТ контејнера могу садржати друге компоненте као што су текст, налепнице, дугмад, табеле, листе итд. Контејнер држи картицу осталих компоненти које се додају у ГУИ.
Панел
Панел је подкласа класе Цонтаинер. Панел је конкретна класа и не садржи наслов, обруб или траку менија. То је контејнер за држање осталих компоненти. У оквиру може бити више плоча.
Класа прозора
Виндовс класа је прозор на највишем нивоу и ми можемо да користимо оквире или дијалоге за стварање прозора. Прозор нема обрубе или траке менија.
Рам
Оквир потиче из класе Виндов и може му се променити величина. Оквир може садржати разне компоненте попут дугмета, налепница, поља, траке наслова итд. Оквир се користи у већини апликација Сажетак прозора са алаткама.
ц # интервју питања и одговори за свеже
Оквир се може креирати на два начина:
# 1) Коришћењем објекта класе Фраме
Овде креирамо објект класе Фраме инстанцирањем класе Фраме.
Пример програмирања дат је у наставку.
import java.awt.*; class FrameButton{ FrameButton (){ Frame f=new Frame(); Button b=new Button('CLICK_ME'); b.setBounds(30,50,80,30); f.add(b); f.setSize(300,300); f.setLayout(null); f.setVisible(true); } public static void main(String args()){ FrameButton f=new FrameButton (); } }
Излаз:
# 2) Проширивањем класе Фраме
Овде креирамо класу која проширује класу Фраме, а затим креирамо компоненте оквира у њеном конструктору.
Ово је приказано у доњем програму.
import java.awt.*; class AWTButton extends Frame{ AWTButton (){ Button b=new Button('AWTButton'); b.setBounds(30,100,80,30);// setting button position add(b);//adding button into frame setSize(300,300);//frame size 300 width and 300 height setLayout(null);//no layout manager setVisible(true);//now frame will be visible, by default not visible } public static void main(String args()){ AWTButton f=new AWTButton (); } }
Излаз:
Класа боја АВТ
АВТ излаз који смо горе приказали имао је задате боје за позадину и први план. Алат за сажетак прозора пружа класу боја која се користи за стварање и подешавање боје на компоненте. Такође можемо подесити боје компонентама користећи оквир путем својстава компоненти.
Класа Цолор нам програмски то омогућава. У ту сврху класа Цолор користи модел РГБА боја (РГБА = ЦРВЕНА, ЗЕЛЕНА, ПЛАВА, АЛФА) или ХСБ (ХСБ = ХУЕ, САТУРАТИОН, БРИЦомпонентс) модел.
Нећемо улазити у детаље ове класе, јер је то изван оквира овог водича.
Следећа табела наводи различите методе које нуди класа Цолор.
Конструктор / методе | Опис |
---|---|
гетБлуе () | Даје компоненту плаве боје у опсегу 0-255. |
светлије () | Направите светлију верзију тренутне боје. |
цреатеЦонтект (ЦолорМодел цм, Рецтангле р, Рецтангле2Д р2д, АффинеТрансформ к, РендерингХинтс х) | Враћа нови ПаинтЦонтект. |
тамније () | Ствара тамнију верзију тренутне боје. |
децоде (Стринг нм) | Враћа наведену непрозирну боју претварањем низа у цео број. |
једнако (Објект обј) | Проверава да ли је дати објекат у боји једнак тренутном објекту. |
гетАлпха () | Враћа алфа вредност боје у распону од 0-255. |
гетЦолор (Низ нм) | Враћа боју из својстава система. |
гетЦолор (Низ нм, Боја в) | |
гетЦолор (Стринг нм, инт в) | |
гетЦолорЦомпонентс (ЦолорСпаце цспаце, флоат () цомпАрраи) | Приказује низ типа флоат који садржи компоненте боје из наведеног ЦолорСпацеа. |
гетЦолорЦомпонентс (флоат () цомпАрраи) | Приказује низ типа флоат који садржи компоненте боје из ЦолорСпаце-а боје. |
гетЦолорСпаце () | враћа ЦолорСпаце тренутне боје. |
гетГреен () | Враћа компоненту зелене боје у опсегу 0-255 у подразумеваном сРГБ простору. |
гетРед () | Враћа компоненту црвене боје у опсегу 0-255 у подразумеваном сРГБ простору. |
гетРГБ () | Враћа РГБ вредност тренутне боје у подразумеваном сРГБ ЦолорМодел-у. |
гетХСБЦолор (флоат х, флоат с, флоат б) | Ствара објект боје користећи ХСБ модел боје са наведеним вредностима. |
гетТранспаренци () | враћа вредност прозирности за ову боју. |
хасхЦоде () | Враћа хеш код за ову боју. |
ХСБтоРГБ (флоат х, флоат с, флоат б) | Претворите дати ХСБ у РГБ вредност |
РГБтоХСБ (инт р, инт г, инт б, флоат () хсбвалс) | претвара дате РГБ вредности у ХСБ вредности. |
АВТ тачка у Јави
Класа Поинт се користи за означавање локације. Локација је из дводимензионалног координатног система.
Методе | Опис |
---|---|
тоСтринг () | Врати приказ низа тачке. |
једнако (објекат) | Проверите да ли су два бода једнака. |
гетЛоцатион () | Врати локацију тренутне тачке. |
хасхЦоде () | Враћа хасхцоде за тренутну тачку. |
премјестити (инт, инт) | Премешта дату тачку на дату локацију у (к, и) координатном систему. |
сетЛоцатион (инт, инт) | Мења локацију тачке на наведену локацију. |
сетЛоцатион (Поинт) | Поставља локацију тачке на дату локацију. |
преведи (инт, инт) | Преведи тренутну тачку у тачку на к + дк, и + ди. |
АВТ час графике
Сав графички контекст у Абстрацт Виндов Тоолкит-у за цртање компонената у апликацији потиче из класе Грапхицс. Објект класе Грапхицс садржи информације о стању потребне за приказивање операција.
Подаци о држави обично садрже:
- Коју компоненту треба нацртати?
- Рендерирање и исецање координата.
- Тренутна боја, фонт и исечак.
- Тренутна операција на логичком пикселу.
- Тренутна КСОР боја
Општа изјава класе Графика је следећа:
public abstract class Graphics extends Object
АВТ режим без главе и Хеадлессекцептион
Када имамо захтев да радимо са графичком апликацијом, али без стварне тастатуре, миша или чак екрана, тада се то назива „безглаво“ окружење.
ЈВМ треба да буде свестан таквог безглавог окружења. Такође можемо подесити безглаво окружење користећи Абстрацт Виндов Тоолкит.
Постоје одређени начини за то како је приказано у наставку:
# 1) Подесите системско својство „јава.авт.хеадлесс“ на тачно помоћу програмског кода.
#два) Користите командну линију да поставите следеће својство режима без главе на тачно:
јава -Дјава.авт.хеадлесс = труе
# 3) Додајте „-Дјава.авт.хеадлесс = труе“ променљивој окружења под називом „ЈАВА_ОПТС“ помоћу скрипте за покретање сервера.
Када је окружење без главе и имамо код који зависи од екрана, тастатуре или миша, а када се овај код изврши у безглавом окружењу, поставља се изузетак „ХеадлессЕкцептион“.
Општа изјава о безглавом изузећу дата је у наставку:
public class HeadlessException extends UnsupportedOperationException
Идемо на режим без главе у апликацијама које захтевају, на пример, пријаву слика засновану на слици. На пример, ако желимо да променимо слику при сваком пријављивању или приликом сваког освежавања странице, тада ћемо у таквим случајевима учитати слику и не требају нам тастатура, миш итд.
Јава АВТ вс Свинг
Погледајмо сада неке разлике између Јава АВТ и Свинга.
АВТ | Свинг |
---|---|
АВТ ради са 21 равноправном особом или виџетима оперативног система који одговарају свакој компоненти. | Свинг ради само са једним вршњаком који је објект прозора. Све остале компоненте црта Свинг унутар објекта Виндов. |
АВТ је скраћеница од „Апстрактни Виндовс алати“. | Свинг је изведен из Јава Фоундатион Цлассес (ЈФЦ). |
АВТ компоненте су тешке, јер АВТ директно упућује позиве потпрограмима потпрограмима оперативног система. | Свинг компоненте су написане на врху АВТ-а и као такве су лагане. |
АВТ компоненте су део пакета јава.авт. | Свинг компоненте су део пакета јавак.свинг. |
АВТ зависи од платформе. | Свинг компоненте су написане на Јави и независне су од платформе. |
АВТ нема свој изглед и осећај. Прилагођава изглед и осећај платформе на којој ради. | Љуљашка пружа другачији изглед и осећај за себе. |
АВТ има само основне функције и не подржава напредне функције као што су табела, табла са картицама итд. | Свинг пружа напредне функције попут ЈТаббед панела, ЈТабле итд. |
АВТ је добар као танки слој класа који седе на врху оперативног система што га чини зависним од платформе. | Свинг је већи и такође садржи богату функционалност. |
АВТ нас тера да напишемо пуно ствари. | Свинг има већину уграђених карактеристика. |
Често постављана питања
П # 1) Шта је АВТ у Јави?
Одговор: АВТ у Јави такође познат и као „Абстрацт Виндов Тоолкит“, што је оквир графичког корисничког интерфејса који зависи од платформе и претходи Свинг оквиру. Део је Јава стандардног ГУИ АПИ-ја, Јава Фоундатион Цлассес или ЈФЦ.
П # 2) Да ли се Јава АВТ и даље користи?
Одговор: Готово је застарео у Јави, изузев неколико компоненти које се још увек користе. Такође, још увек постоје неке старе апликације или програми који раде на старијим платформама које користе АВТ.
П # 3) Шта су АВТ и Свинг у Јави?
Одговор: Апстрактни прозор алат је АПИ који зависи од платформе за развој ГУИ апликација на Јави. Свинг је с друге стране АПИ за развој ГУИ-а и изведен је из Јава Фоундатион Цлассес (ЈФЦ). АВТ компоненте су тешке, док су Свинг компоненте лагане.
П # 4) Који је оквир у Јава АВТ?
како позвати методу користећи низ објеката у јави
Одговор: Оквир се може дефинисати као прозор компоненте највишег нивоа који има наслов и обруб. Оквир има подразумевани распоред „Распоред ивица“. Оквири такође генеришу Виндовс догађаје попут Затвори, Отвори, Затвори, Активирај, Деактивирај итд.
П # 5) Шта је увоз Јава АВТ?
Одговор: Увоз Јава АВТ (импорт јава.авт. *) Указује да нам је потребна функционалност АВТ АПИ-ја у нашем програму како бисмо могли да користимо његове компоненте као што су ТектФиелдс, Буттонс, Лабелс, Лист итд.
Закључак
У овом упутству смо разговарали о прегледу Апстрактног прозора с алатима, као АПИ-ју за развој графичког корисничког интерфејса на Јави који зависи од платформе. Готово је застарео у Јави и замењују га други АПИ-ји попут Свингс-а и ЈаваФКС-а.
Нисмо улазили у детаље свих компоненти Абстрацт Виндов Тоолкит-а јер се сада ретко користе. Стога смо разговарали само о компонентама попут оквира, боје итд. И режиму без главе који је подешен помоћу АВТ-а.
У следећем упутству ћемо започети са Јава Свинг водичима и детаљно ћемо их размотрити јер већина Јава апликација данас користи Свинг за развој ГУИ-а.
=> Овде припазите на једноставну серију Јава тренинга.
Препоручено читање
- Јава интерфејс и лекција са апстрактним часовима са примерима
- Основе Јава-а: Јава синтакса, Јава Цласс и основни Јава концепти
- Јава Интегер и Јава БигИнтегер класа са примерима
- Врсте часова у Јави: сажетак, конкретно, завршно, статично
- Примена Јава-а: Стварање и извршавање Јава ЈАР датотеке
- Водич за класу Јава Сцаннер са примерима
- Приватни, апстрактни, низ и низ низа конструктори у Јави
- Јава Цласс Вс Објецт - Како се користи класа и објекат у Јави