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 ?
Fórum › Java
[Swing] Feel and Look
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.
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žení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 30 hostů
Podobná vlákna
Java Swing — založil Falcon1651
Swing a vlakna — založil Zerog
Swing - JButton a addActionListener() — založil Šťouchal
Java swing - JButton — založil petr143
Moderátoři diskuze