Како да креирате и провидне обликованог Виндовс у Јава?

Преглед: У овом чланку ћемо разговарати о транспарентности и различитог облика прозора у Јави. У Јави 7 љуљашка подржава ову функцију и што свинг УИ компоненте флексибилнији и корисник пријатан.

Увод: У неким апликацији, транспарентни прозор је услов да подржи своју функционалност. Сада у Јави, транспарентност могу се спровести. Провидан прозор је створио мења састав боје примјеном метода зове сетОпацити на ЈФраме компоненте. Али морамо да схватимо да је провидан прозор је могуће само ако је основни оперативни систем подржава. И ми треба да се уверите да прозор није украшена. Да би прозор неукрашене, потребно је да позовете сетУндецоратед (прави) метод. Неко време је такође потребно да промени облик прозора УИ. За имплементацију је, морамо да позовемо метод сетСхапе у цомпонентРесизед метода. Она ће прерачунати облик када се мења величина прозора.

Позадинска: У Јава корисничког, Подршка за прозрачношћу облика прозора је дуго времена потражња за Свинг / АВТ компоненти. За матерњем развоја приступ ове особине могу се добити од дугог времена поново. Али то није био доступан Цоре Јава компоненти. У јава6 наовамо, подршка транспарентности и обликована прозор доступан. Чак и по пикселу нивоа транспарентности је такође подржава у Јава7.

Врста подршке за провидност и транспарентност: Јава 7 подржава следеће три врсте подршке.

ТРАНСЛУЦЕНТ: У овом функцијом прозор може имати различите боје, али са истим нивоом непрозирности. Дакле, алфа вредност је иста за све пиксела. Овај ефекат је погодан за искључивање избледети прозор, а затим се постепено смањује и повећава вредност алфа.

ПЕРПИКСЕЛ_ТРАНСЛУЦЕНТ: Ово својство подржава различите алфа вредности унутар самог прозора. Ово се користи да бледи изабрани регион у прозору.

ПЕРПИКСЕЛ_ТРАНСПАРЕНТ: Ово својство подржава различите облике прозора уместо традиционалне правоугаоника. Ако по пикселу транспарентности онда подржан различити облици попут круга, троугао може бити креиран.

Пре него што користите било који од горе наведених особина треба да се тестира подршку лежи под оперативним системом. Тест се може урадити коришћењем метода исВиндовТранслуценциСуппортед припадају класи јава.авт.ГрапхицсДевице. Потребно врсту транспарентности као улаз и враћа труе / фалсе да укаже на подршку.

Хајде да проверите код узорак за спровођење функцију прозирност. У овом примеру смо направили правоугаони прозор на провидне области текста. Прво смо онемогућили декорацију режим да се ефекат транспарентности. Онда смо проверили да ли је основни оперативни систем то подржава или не. Ако подржао ефекат је видљив на оквиру прозора.

Листинг1: Пример показује Транслуценција од ЈФраме прозора

увоз јава.авт.Цолор;

увоз јава.авт.ГрапхицсДевице;

увоз јава.авт.ГрапхицсЕнвиронмент;

увоз јава.авт.ГридБагЛаиоут;

увоз јава.авт.евент.ЦомпонентАдаптер;

увоз јава.авт.евент.ЦомпонентЕвент;

увоз јава.авт.геом.Рецтангле2Д;

увоз јавак.свинг.ЈФраме;

увоз јавак.свинг.ЈТектАреа;

увоз јавак.свинг.СвингУтилитиес;

јавност класа ТрансРецФраме протеже ЈФраме {

/**

* Креирање транспарентне правоугаони оквир са 85% провидност

*/

јавност ТрансРецФраме() {

супер(“Провидна квадратни оквир”);

//Сет распоред

сетЛаиоут(нови ГридБагЛаиоут());

//Створите текста

финале ЈТектАреа тктАреа = нови ЈТектАреа(5, 50);

тктАреа.сетБацкгроунд(Боја.ЦИАН);

додати(тктАреа);

//Позив да се онемогући декорација

сетУндецоратед(прави);

 

//Позив сетСхапе да промените величину облик када виднов је промењена

аддЦомпонентЛистенер(нови ЦомпонентАдаптер() {

@ Оверриде

јавност воид цомпонентРесизед(ЦомпонентЕвент и) {

сетСхапе(нови Рецтангле2Д.Доубле(0, 0, гетВидтх(), гетХеигхт()));

}

});

//Направите прозор 85% транспарентан

сетОпацити(0.85Ф);

//Подесите остале параметре

сетЛоцатионРелативеТо(нула);

сетСизе(200, 300);

сетДефаултЦлосеОператион(ЕКСИТ_ОН_ЦЛОСЕ);

сетВисибле(прави);

}

јавност статички воид главни(Ниска[] аргс) {

//Креирање графика окружења

Млади Ризични ГрапхицсЕнвиронмент = ГрапхицсЕнвиронмент

.гетЛоцалГрапхицсЕнвиронмент();

//Проверите да ли је оперативни систем подржава Транспарентност

ако (генв.гетДефаултСцреенДевице().исВиндовТранслуценциСуппортед(

ГрапхицсДевице.ВиндовТранслуценци.ТРАНСЛУЦЕНТ)) {

Систем.оут.принтлн(“Оперативни систем подржава прозирност”);

нови ТрансРецФраме();

}

}

}

Текстови за подршку транспарентности и облик: У Јава7 постоје углавном три карактеристике доступни за подршку транспарентности и облик прозора.

  • Пуна транспарентност прозор: У овом приступу пун прозор је провидна.
  • По пикселу транслуценцијом: У овом приступу део прозора је провидна
  • Обликовани прозори: Направите различитог облика прозора као овале, круг, правоугаони итд.

По пикселу транслуценцијом:

Већ смо видели како се прави комплетан провидних прозора у претходном примеру. Сада ћемо разговарати други део прављења сет провидних пиксела преко њихове боје позадине. Постоје ограничења за имплементацију овог сценарија. Прозор не би требало да буде преко целог екрана, а систем мора да подржи ниво транспарентности пиксела. Остатак процедуре је сличан претходном примеру.

У следећем примеру ћемо видети како пиксел ниво транспарентност се налази у оквиру.

Листинг2: Пример показује нивоа пиксела транспарентност подршка.

увоз javax.swing.*;

увоз јава.авт *.;

увоз јава.авт.евент.АцтионЕвент;

увоз јава.авт.евент.АцтионЛистенер;

јавност класа ПикелТранслуценци протеже ЈФраме {

јавност ПикелТранслуценци() {

супер(“Подесите ниво транспарентности пиксела”);

//Подесите величину ЈФраме

сетСизе(250, 250);

//Сет нокаутирати

гетЦонтентПане().сетЛаиоут(нови ГридЛаиоут(6, 6));

//Позив за подешавање пиксела

за(инт и = 0; ја &То; 16; и ){

додати(нови Пикел Панел(255 – ја * 12));

}

//Подесите позадину и друга својства

сетБацкгроунд(нови Боја(0, 0, 0, 0));

сетЛоцатионРелативеТо(нула);

сетВисибле(прави);

}

јавност статички воид главни(Ниска[] аргс) {

Млади Ризични ГрапхицсЕнвиронмент = ГрапхицсЕнвиронмент.гетЛоцалГрапхицсЕнвиронмент();

//Проверите да ли подржава прозор транспарентност

ако (генв.гетДефаултСцреенДевице().исВиндовТранслуценциСуппортед(ГрапхицсДевице.ВиндовТранслуценци.ПЕРПИКСЕЛ_ТРАНСЛУЦЕНТ)) {

Систем.напоље.принтлн(“Оперативни систем подржава прозирност”);

нови ПикелТранслуценци();

}

} приватан класа Пикел Панел протеже ЈПанел {

приватан Пикел Панел(инт ПИКСЛ) {

супер();

сетБацкгроунд(нови Боја(0, 0, 255, ПИКСЛ));

}

}

}

Профили Виндовс:

Сада ћемо разговарати о Друга важна карактеристика подржава Јава7.Тхе облику прозора подржава све врсте облика Шта год да буде услов за корисника. Ова функција вам помаже да направите било који облик попут круга, троугао, полигон или било могуће сложеног облика. СетСхапе метод прозора класе је доступна за постављање имовине. Али, опет морамо имати на уму да и фулл сцреен режим не треба дозволити и оперативни систем подржава прозирност.

Следећи пример приказује коришћење у облику прозора.

Листинг3: Узорак кода показује коришћење у облику прозора.

увоз javax.swing.*;

увоз јава.авт *.;

увоз јава.авт.геом.Еллипсе2Д;

увоз јава.авт.геом.ГенералПатх;

јавност класа ЈаваСхапедВиндов протеже ЈФраме {

јавност ЈаваСхапедВиндов() {

супер(“Сет облику прозора”);

//Поставите неукрашене ОФФ да добијете ефекат

сетУндецоратед(прави);

//Подесите величину

сетСизе(нови Димензија(250, 250));

//Подешавање својства полигона

Полигон полигон = нови Полигон();

полигон.аддПоинт(0, 100);

полигон.аддПоинт(50, 0);

полигон.аддПоинт(100, 100);

//Подесите вредности облика

Еллипсе2Д.Доубле невЦирцле = нови Еллипсе2Д.Доубле(0, 50, 1.0*100, 1.0*100);

//Подешавање општих својстава путања

ГенералПатх гпатх = нови ГенералПатх();

гпатх.аппенд(полигон, прави);

гпатх.аппенд(невЦирцле, прави);

//Подесите путању

сетСхапе(гпатх);

//Сет распоред бок

гетЦонтентПане().сетЛаиоут(нови BoxLayout(гетЦонтентПане(), BoxLayout.Кс_АКСИС));

додати(Кутија.цреатеХоризонталГлуе());

//Креирање етикета и подесити особине

JLabel newlabel = нови ЈЛабел(“Јава обликованог прозор”);

невлабел.сетФорегроунд(Боја.бео);

додати(newlabel);

додати(Кутија.цреатеХоризонталГлуе());

//Постави садржаја боју позадине окно

гетЦонтентПане().сетБацкгроунд(Боја.Цијан);

//Подесите локацију

сетЛоцатионРелативеТо(нула);

сетВисибле(прави);

}

јавност статички воид главни(Ниска[] аргс) {

Млади Ризични ГрапхицсЕнвиронмент = ГрапхицсЕнвиронмент.гетЛоцалГрапхицсЕнвиронмент();

//Проверите ОС подршку за ову некретнину

ако (генв.гетДефаултСцреенДевице().исВиндовТранслуценциСуппортед(ГрапхицсДевице.ВиндовТранслуценци.ПЕРПИКСЕЛ_ТРАНСПАРЕНТ)) {

Систем.напоље.принтлн(“Оперативни систем подржава прозирност”);

нови ЈаваСхапедВиндов();

}

}

}

Такође, може да примени комбинацију две функције као прозрачношћу облику прозора. За спровођење овог, позива метод сетОпацити на ваш рам. Резултат прозор ће приказати комбиновани ефекат. Али, треба имати на уму основни оперативни систем мора да подржи ниво транспарентности пиксела и ниво транспарентности пиксела.

Закључак:

У овом чланку смо покривени неке нове функције и транспарентности у јава7.Тхе облику прозора карактеристике су заиста занимљива и да Јава УИ компоненте флексибилнији. Али, у исто време морамо имати на уму да је основни оперативни систем подржава све ове особине. У супротном ефекат неће бити видљив. Дакле, у самој апликацији да проверите ОС подршку, а затим спровести ефекат. Најновије карактеристика Јава омогућава програмерима да креирају различите врсте утицаја на УИ страни. Као што сви знамо да је изглед важан аспект једног УИ базиране апликације. Дакле, програмер је сада опремљен са алатима да би УИ пријатнијим и атрактиван.

============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share