LookAndFeels de Java
Dica publicada em Java / Avançado
LookAndFeels de Java
Por padrão, o Java vem com três temas de interface gráfica para suas aplicações, mas os desenvolvedores criaram meios para que outros pudessem criar seus próprios temas. Graças a isso existem muitos LookAndFeels disponíveis para Java. Vou mostrar como mudar o tema padrão de Java para uma das três opções nativas.
import java.awt.*;
import javax.swing.*;
public class Program extends JFrame implements ActionListener
{
private JButton metalButton = new JButton("Metal");
private JButton motifButton = new JButton("Motif");
private JButton windowsButton = new JButton("Windows");
public Program()
{
super("LookAndFeels");
Container container = this.getContentPane();
container.add(metalButton);
container.add(motifButton);
container.add(windowsButton);
metalButton.addActionListener(this);
motifButton.addActionListener(this);
windowsButton.addActionListener(this);
this.setSize(300, 200);
this.setVisible(true);
}
public void actionPerformed(ActionEvent evt)
{
Object source = evt.getSource();
String theme = "";
if (source == metalButton)
theme = "javax.swing.plaf.metal.MetalLookAndFeel";
else if (source == motifButton)
theme = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
else if (source == windowsButton)
theme = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
try
{
UIManager.setLookAndFeel(theme);
SwingUtilities.updateComponentTreeUI(this);
}
catch (Exception e)
{
System.exit(0);
}
}
public static void main(String[] args)
{
Program program = new Program();
}
}
{
private JButton metalButton = new JButton("Metal");
private JButton motifButton = new JButton("Motif");
private JButton windowsButton = new JButton("Windows");
public Program()
{
super("LookAndFeels");
Container container = this.getContentPane();
container.add(metalButton);
container.add(motifButton);
container.add(windowsButton);
metalButton.addActionListener(this);
motifButton.addActionListener(this);
windowsButton.addActionListener(this);
this.setSize(300, 200);
this.setVisible(true);
}
public void actionPerformed(ActionEvent evt)
{
Object source = evt.getSource();
String theme = "";
if (source == metalButton)
theme = "javax.swing.plaf.metal.MetalLookAndFeel";
else if (source == motifButton)
theme = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
else if (source == windowsButton)
theme = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
try
{
UIManager.setLookAndFeel(theme);
SwingUtilities.updateComponentTreeUI(this);
}
catch (Exception e)
{
System.exit(0);
}
}
public static void main(String[] args)
{
Program program = new Program();
}
}
Outras dicas deste autor
Plugins de busca no php.net e mysql.com no Firefox
Leitura recomendada
PJEOffice rodando corretamente no Ubuntu 19 - como fazer via terminal
Instrução for( ; ; ) aprimorada no Java 1.5
Resolvendo o problema "could not load wizard specified in /wizard.inf" no Ubuntu Hardy
Comentários
contei mas fiquei com un pouco de duvida en relação ao grafico
Cara, desculpe a sinceridade. Mas seu exemplo tá cheio de erro.
Primeiro: Vc esqueceu de importar java.awt.event.ActionEvent
Segundo: vc não definiu o layout do painel q vai conter os botões. Do jeito q vc fez, só aparecerá o último botão adicionado.
T+
Primeiro: Vc esqueceu de importar java.awt.event.ActionEvent
Segundo: vc não definiu o layout do painel q vai conter os botões. Do jeito q vc fez, só aparecerá o último botão adicionado.
T+