[Swing] Feel and Look – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

[Swing] Feel and Look – Java – Fórum – Programujte.com[Swing] Feel and Look – Java – Fórum – Programujte.com

 

notbeginner
~ Anonymní uživatel
185 příspěvků
22. 5. 2013   #1
-
0
-

Dobrý den , máte někdo zkušenosti s implementaci free(GNU) Feel and LOOK (např. http://www.muntjak.de/hans/java/tinylaf/index.html ). Změnit standardní GUI jež jsou součástí JDK v přes zdrojový kód dokáži nevím jak dokázat zobrazit ty jiné.  1) Nevim kam to nakopírovat ( do JDK,JRE či Projektu atd) 2) Jak to nastavit jako defultní zobrazení a kde v Eclipse ?  3) Či lze to udělat tak abych měl standardní GUI z SDK  a jednotlivé projekty či public classy v jednom projektu nastavené pro různé GUI  ?

Nahlásit jako SPAM
IP: 86.49.87.–
sakal910
Stálý člen
22. 5. 2013   #2
-
0
-

#1 notbeginner
Zdravím, s tímhle moc zkušeností nemám, ale co takhle to naimportovat jako standardní knihovny (nahrát do classpath a pak normálně naimportovat do projektu)?

Nahlásit jako SPAM
IP: 31.222.8.–
notbeginner
~ Anonymní uživatel
185 příspěvků
23. 5. 2013   #3
-
0
-

Takže jsem to zjistil sám a trochu i s pomoci sakala91 a vzhledem k tomu, že by bylo vhodne pridat řešení tak se o něj podělím. 1)  zmena na jiné GUI ve Swingu jenž je součásti JDK nebo JRE 

//  http://docs.oracle.com/…el/plaf.html
import java.awt.*;
import javax.swing.*;
public class B12_JineGUI extends JFrame{
	private JButton tlac1,tlac2,tlac3;
	private JTextField editText;
	private void ZmenaGUI() {
		/* Nimbus =  "javax.swing.plaf.nimbus.NimbusLookAndFeel"
		 * Metal = "javax.swing.plaf.metal.MetalLookAndFeel"
		 * CDE/Motif = "com.sun.java.swing.plaf.motif.MotifLookAndFeel"
		 * Windows = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"
		 * WindowsClassic = "com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel"	*/
		String LOOKANDFEEL = "javax.swing.plaf.nimbus.NimbusLookAndFeel"; // zvolen NIMBUS
		try{
			UIManager.setLookAndFeel(LOOKANDFEEL);
			SwingUtilities.updateComponentTreeUI(this);
			this.pack();
		}catch(Exception e){	e.printStackTrace();	}	}
	private void NastaveniKonstruktoruOkna(){
		this.setLayout(null);
		this.getContentPane().setBackground(Color.white);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
		this.setSize(600,400);this.setLocation(400,250);	}
	private void RozvrzeniKomponent() {
		tlac1 = new JButton("Blablabla");this.add(tlac1);
		tlac1.setBounds(130,20,100, 20);
		tlac2 = new JButton("Testovaci Rezim");this.add(tlac2);
		tlac2.setBounds(230,190,200, 40);
		tlac3 = new JButton("Ano to je text");this.add(tlac3);
		tlac3.setBounds(30,220,150, 20);
		editText = new JTextField();this.add(editText);
		editText.setBounds(190,50,200,60);	}
	B12_JineGUI(){
		super.setTitle("JFrame okno JDK s jinym GUI");
		ZmenaGUI();  // tato metoda musi byt vzdy pred nastavenim JFRAME
		NastaveniKonstruktoruOkna();
		RozvrzeniKomponent();	}
	public static void main(String [] args) {
		new B12_JineGUI().setVisible(true);	}
}

2) Použiji-li jiné GUI z nějaké GUI distribude např. http://personales.ya.com/nimrod/faq-en.html pak se to musí vyřešit přidáním externího *.jar přes ClassPath 

// nutne pridat do classpath (nastaveni Eclipse) - Run - RunConfiguration - ClassPath 
//- BootStrap Entry - Add external *.jar - a pridat cestu
import java.awt.*;
import javax.swing.*;
public class B13_JineGNUGUI extends JFrame{
	private JButton tlac1,tlac2,tlac3;
	private JTextField editText;
	private void ZmenaGUI() {
		String LOOKANDFEEL = "com.nilo.plaf.nimrod.NimRODLookAndFeel"; // zvolen NIMROD
		try{
			UIManager.setLookAndFeel(LOOKANDFEEL); 
			SwingUtilities.updateComponentTreeUI(this);
			this.pack();
		}catch(Exception e){	e.printStackTrace();	}	}
	private void NastaveniKonstruktoruOkna(){
		this.setLayout(null);
		this.getContentPane().setBackground(Color.white);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
		this.setSize(600,400);this.setLocation(400,250);	}
	private void RozvrzeniKomponent() {
		tlac1 = new JButton("Blablabla");this.add(tlac1);
		tlac1.setBounds(130,20,100, 20);
		tlac2 = new JButton("Testovaci Rezim");this.add(tlac2);
		tlac2.setBounds(230,190,200, 40);
		tlac3 = new JButton("Ano to je text");this.add(tlac3);
		tlac3.setBounds(30,220,150, 20);
		editText = new JTextField();this.add(editText);
		editText.setBounds(190,50,200,60);	}
	B13_JineGNUGUI(){
		super.setTitle("JFrame okno s ext *.jar s jinym GUI");
		ZmenaGUI();  // tato metoda musi byt vzdy pred nastavenim JFRAME
		NastaveniKonstruktoruOkna();
		RozvrzeniKomponent();	}
	public static void main(String [] args) {
		new B13_JineGNUGUI().setVisible(true);	}
}

3) Pokud člověk chce mít pernamentně odlišné GUI je nutné v JRE/lib mít soubor "swing.properties" s obsahem "swing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel" například pro typ NIMBUS jenž je k dispozici pro javax v JRE.

Nahlásit jako SPAM
IP: 86.49.87.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 30 hostů

Podobná vlákna

Swing — založil Arekol

Java Swing — založil Falcon1651

Swing a vlakna — založil Zerog

Java swing - JButton — založil petr143

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý