Mam programik
package paczka_1;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class R8_H_ZmianaWygladu342
{
public static void main(String[] args)
{
RamkaWygladu ramka = new RamkaWygladu();
ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ramka.show();
}
}
/**
Ramka, zawierająca panel przycisków, zmieniających wygląd programu
*/
class RamkaWygladu extends JFrame
{
public RamkaWygladu()
{
setTitle("TestWygladu");
setSize(SZEROKOSC, WYSOKOSC);
// dołącz panel do ramki
PanelWygladu panel = new PanelWygladu();
Container powZawartosci = getContentPane();
powZawartosci.add(panel);
}
public static final int SZEROKOSC = 300;
public static final int WYSOKOSC = 200;
}
/**
Panel, zawierający przyciski, zmieniające wygląd programu
*/
class PanelWygladu extends JPanel
{
public PanelWygladu()
{
zbudujPrzycisk("Metal","javax.swing.plaf.metal.MetalLookAndFeel");
zbudujPrzycisk("Motif","com.sun.java.swing.plaf.motif.MotifLookAndFeel");
zbudujPrzycisk("Windows","com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
JButton przycisk = new JButton("Motif");
add(przycisk);
// wykonaj odpowiednie działanie
przycisk.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent zdarzenie)
{
// działanie przycisku: zmienia wygląd programu na nowy
try
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
SwingUtilities.updateComponentTreeUI
(PanelWygladu.this);
}
catch(Exception w) { w.printStackTrace(); }
}
});
}
/**
Tworzy przycisk, zmieniający wygląd programu
*/
void zbudujPrzycisk(String nazwa, final String nazwaWygladu)
{
// dołącz przycisk do panelu
JButton przycisk = new JButton(nazwa);
add(przycisk);
// wykonaj odpowiednie działanie
przycisk.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent zdarzenie)
{
// działanie przycisku: zmienia wygląd programu na nowy
try
{
UIManager.setLookAndFeel(nazwaWygladu);
SwingUtilities.updateComponentTreeUI
(PanelWygladu.this);
}
catch(Exception w) { w.printStackTrace(); }
}
});
}
}
jak zrobić by np wygląd Windows wczytywał się odraz po uruchomieniu ? czy musi być to akcja wywoływana na dzień dobry czy wystarczy to wczytać jakoś przez include ? i dodatkowo nasuwa mi się pytanie jeśli chodzi o wygląd jak zmienić wygląd JButton tak by w swing był on delikatniejszy ? lub też muc podmienić teks na guziku np z "+" na grafikę w zapisaną w png czy jpg przedstawiającą pluski ?