Kako ustvariti prosojna in Shaped Windows v Javi?

Pregled: V tem članku bomo razpravljali o preglednosti in različnih oblik oken v Javi. V java 7 gugalnica podpira to funkcijo in izdelavo sestavnih delov nihajna UI bolj prilagodljiva in uporabniku prijazna.

Predstavitev: V nekaterih prijave, pregledno okno je zahteva za podporo njene funkcionalnosti. Zdaj v Java, Preglednost je mogoče izvajati. Prosojno okno, ki ga je ustvaril s tem spreminjala njene motnosti z izvajanjem metode, imenovane setOpacity na JFrame komponente. Vendar moramo razumeti, da je prosojno okno mogoča le, če je osnovni operacijski sistem podpira. In moramo tudi zagotoviti, da se okno ne okrašeni. Če želite, da okno okrasa, boste morali poklicati setUndecorated (Res) metoda. Je prav tako potrebno nekaj časa, da spremenite obliko oken UI. Za njeno izvajanje, moramo poklicati setShape metode v componentResized metodi. To bo preračunati obliko, ko je okno spreminjati.

Nazaj na tleh: V java UI, podpora za prosojnosti in oblike oknu je bil dolgo časa povpraševanje po Swing / AWT komponente. Za maternem razvojno dostop do Na voljo so te lastnosti od dolgo časa nazaj. Ampak to ni bila dostopna osnovnih java komponent. V Java6 dalje, podpora za prosojnost in oblike oken je na voljo. Tudi na ravni prosojnosti pik je prav tako podpira Java7.

Vrsta podpore za prosojnosti in preglednosti: Java 7 Podpira naslednje tri vrste podpore.

Prosojen: V tej zgodbi lahko okno različne barve, vendar z isto stopnjo motnosti. Torej alfa vrednost je enaka za vse pik. Ta učinek je primeren za izginila off okno in nato postopoma zmanjšuje in povečuje alfa vrednost.

PERPIXEL_TRANSLUCENT: Ta lastnost podpira različne vrednosti alfa znotraj okna sama. Ta se uporablja za izginila izbrano regijo oknu.

PERPIXEL_TRANSPARENT: Ta lastnost podpira različne oblike oken, namesto tradicionalnega pravokotnika. Če po preglednosti pixel je podprt nato različne oblike, kot so krog, trikotnik je mogoče ustvariti.

Preden bomo uporabili katerega od zgoraj navedenih lastnosti moramo preveriti podporo v okviru leži operacijskega sistema. Preskus se lahko izvede z uporabo metode isWindowTranslucencySupported, ki spada v razred java.awt.GraphicsDevice. To traja vrsto preglednosti kot vhod in vrne true / false navesti podporo.

Dovolite nam, preverite vzorčno kodo za izvajanje funkcije prosojnosti. V tem primeru smo ustvarili pravokotno prosojno okno na področju besedila. Najprej smo onemogočili način dekoriranja dobili učinek preglednosti. Potem pa smo preverili, če je osnovni operacijski sistem podpira, ali ne. Če je podprto učinek je viden na okenski okvir.

Listing1: Vzorec kaže prosojnosti skozi okno JFrame

uvoziti java.awt.Color;

uvoziti java.awt.GraphicsDevice;

uvoziti java.awt.GraphicsEnvironment;

uvoziti java.awt.GridBagLayout;

uvoziti java.awt.event.ComponentAdapter;

uvoziti java.awt.event.ComponentEvent;

uvoziti java.awt.geom.Rectangle2D;

uvoziti javax.swing.JFrame;

uvoziti javax.swing.JTextArea;

uvoziti javax.swing.SwingUtilities;

javni Razred TransRecFrame razširja JFrame {

/**

* Ustvariti transparentno pravokotni okvir z 85% preglednost

*/

javni TransRecFrame() {

super(“Prosojno Pravokotni Frame”);

//Nastavite postavitev

setLayout(Nov GridBagLayout());

//Ustvarite besedilno območje

Končni JTextArea txtArea = Nov JTextArea(5, 50);

txtArea.setBackground(Barva.CYAN);

dodajte(txtArea);

//Pokličite onemogočiti dekoracijo

setUndecorated(Res);

 

//Pokličite setShape, da spremenite velikost oblike, ko widnow je spremenjena

addComponentListener(Nov ComponentAdapter() {

@ Override

javni nična componentResized(ComponentEvent in) {

setShape(Nov Rectangle2D.Double(0, 0, getWidth(), getHeight()));

}

});

//Naredite okno 85% pregledno

setOpacity(0.85f);

//Nastavite druge parametre

setLocationRelativeTo(nič);

setSize(200, 300);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(Res);

}

javni statična nična Glavni(String[] args) {

//Ustvari grafično okolje

Mladi Venture GraphicsEnvironment = GraphicsEnvironment

.getLocalGraphicsEnvironment();

//Preverite, če OS podpira Prosojnost

če (genv.getDefaultScreenDevice().isWindowTranslucencySupported(

GraphicsDevice.WindowTranslucency.Prosojen)) {

Println(“OS podpira prosojnost”);

Nov TransRecFrame();

}

}

}

Funkcije, ki podpirajo prosojnost in obliko: V Java7 obstajajo predvsem tri funkcije so na voljo za podporo prosojnost in obliko okno.

  • Polna okno prosojnosti: Pri tem pristopu polno okno je prosojen.
  • Na pixel prosojnosti: Pri tem pristopu del okna je prozoren
  • Oblikovani okna: Da bi različne oblike oken, kot ovale, Krog, pravokotno itd.

Na pixel prosojnosti:

Smo že videli, kako narediti popolno okna prosojen v prejšnjem primeru. Sedaj bomo razpravljali drugi del izdelave niz slikovnih pik prosojnih s svojo barvo ozadja. Obstajajo nekatere omejitve za izvajanje te scenarij. Okno ne bi smelo biti celoten zaslon in sistem mora podpirati ravni prosojnost pixel. Preostali postopek je podoben zgoraj primer.

V naslednjem primeru bomo videli, kako se stopnja prosojnosti pixel postavljen v okvir.

Listing2: Vzorec prikazuje pixel podpora prosojnost ravni.

uvoziti javax.swing.*;

uvoziti java.awt. *;

uvoziti java.awt.event.ActionEvent;

uvoziti java.awt.event.ActionListener;

javni Razred PixelTranslucency razširja JFrame {

javni PixelTranslucency() {

super(“Nastavite pixel ravni prosojnost”);

//Nastavi velikost JFrame

setSize(250, 250);

//Nastavite razpostavite

getContentPane().setLayout(Nov GridLayout(6, 6));

//Razpis za nastavitev slikovnih pik

za(int i = 0; i < 16; i ){

dodajte(Nov Pixel Panel(255 – i * 12));

}

//Nastavi ozadje in druge lastnosti

setBackground(Nov Barva(0, 0, 0, 0));

setLocationRelativeTo(nič);

setVisible(Res);

}

javni statična nična Glavni(String[] args) {

Mladi Venture GraphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();

//Preverite, če podpira okno prosojnost

če (genv.getDefaultScreenDevice().isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency.PERPIXEL_TRANSLUCENT)) {

Sistem.out.println(“OS podpira prosojnost”);

Nov PixelTranslucency();

}

} zasebni Razred Pixel Panel razširja JPanel {

zasebni Pixel Panel(int pixl) {

super();

setBackground(Nov Barva(0, 0, 255, pixl));

}

}

}

Oblikovani Windows:

Sedaj bomo razpravljali o drugem pomemben element, ki ga Java7.The oblikovanim oknu podpira podpira vse vrste oblik, kar se zahteva od uporabnika. Ta lastnost vam pomaga ustvariti kakršne koli oblike kot kroga, trikotnik, poligon ali morebitna zapletena oblika. SetShape metoda razreda oknu je na voljo za določanje lastnosti. Ampak spet se moramo zavedati, da ne bi smeli dovoliti celozaslonski način in operacijski sistem podpira prosojnost.

Naslednji primer prikazuje uporabo v obliki okna.

Listing3: Vzorec kode, ki prikazuje uporabo v obliki črke okno.

uvoziti javax.swing.*;

uvoziti java.awt. *;

uvoziti java.awt.geom.Ellipse2D;

uvoziti java.awt.geom.GeneralPath;

javni Razred JavaShapedWindow razširja JFrame {

javni JavaShapedWindow() {

super(“Nastavite oblikovano okno”);

//Nastavite okrasa OFF, da se učinek

setUndecorated(Res);

//Nastavi velikost

setSize(Nov Dimenzija(250, 250));

//Nastavite poligon lastnosti

Poligon poligon = Nov Poligon();

polygon.addPoint(0, 100);

polygon.addPoint(50, 0);

polygon.addPoint(100, 100);

//Nastavite vrednote oblike

Ellipse2D.Double newCircle = Nov Ellipse2D.Double(0, 50, 1.0*100, 1.0*100);

//Določiti splošne lastnosti pot

GeneralPath gpath = Nov GeneralPath();

gpath.append(poligon, Res);

gpath.append(newCircle, Res);

//Nastaviti pot

setShape(gpath);

//Nastavite postavitev polja

getContentPane().setLayout(Nov BoxLayout(getContentPane(), BoxLayout.X_AXIS));

dodajte(Polje.createHorizontalGlue());

//Ustvarite oznake in lastnosti

JLabel newlabel = Nov JLabel(“Java Shaped okno”);

newlabel.setForeground(Barva.bela);

dodajte(newlabel);

dodajte(Polje.createHorizontalGlue());

//Nastavite vsebine plošča barvo ozadja

getContentPane().setBackground(Barva.cyan);

//Nastavi lokacijo

setLocationRelativeTo(nič);

setVisible(Res);

}

javni statična nična Glavni(String[] args) {

Mladi Venture GraphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();

//Preverite podporo OS za to nepremičnino

če (genv.getDefaultScreenDevice().isWindowTranslucencySupported(GraphicsDevice.WindowTranslucency.PERPIXEL_TRANSPARENT)) {

Sistem.out.println(“OS podpira prosojnost”);

Nov JavaShapedWindow();

}

}

}

Lahko izvajamo tudi kombinacijo dveh funkcij, kot so prosojnost in oblikovan okno. Za izvedbo, poklicati metodo setOpacity za vaše okvirja. Okno rezultat bo prikazal skupni učinek. Vendar ne smemo pozabiti, osnovni operacijski sistem mora podpirati ravni prosojnost slikovnih pik in preglednost ravni.

Zaključek:

V tem članku smo zajeti nekatere nove funkcije v java7.The prosojnost in oblike funkcije okna so res zanimiva in da java UI komponente bolj prilagodljivi. Vendar pa hkrati ne smemo pozabiti, da je osnovni operacijski sistem podpira vse te lastnosti. Drugače učinek ne bodo vidni. Tako v sami prijavi smo preveriti podporo OS in nato izvajala učinek. Zadnji značilnost java omogoča razvijalcem, da ustvarijo različnih vrst učinek na UI strani. Kot vsi vemo, da videz in občutek je pomemben vidik katere koli UI uporabe temelječe. Torej je razvijalec zdaj opremljen z orodji, da bi UI bolj prijetno in privlačno.

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

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share