Vous êtes sur la page 1sur 3

public class Veiculo{ String modelo; int anoFabrico; String estadoFuncionamento; Veiculo( String m, int a ){ this.modelo = m; this.anoFabrico = a; this.

estadoFuncionamento = "Perfeito"; } void levarTiro(){ this.estadoFuncionamento = "Estragado"; } } /* // A classe Carro HERDA TUDO da classe Veiculo public class Carro extends Veiculo{ String categoria; Carro( String m, int a, String cat ){ super(m, a); this.categoria= cat; } } public class Tanque extends Veiculo{ int calibreCanhao; Tanque( String m, int a, int cal ){ super( m, a ); this.calibreCanhao = cal; } void levarTiro(){ this.estadoFuncionamento = "Meio Avariado"; System.out.println( "Bla bla" ); } } */

import java.awt.*; import java.awt.event.*; import javax.swing.*; public class TesteLookAndFeel extends JFrame { private private private private private private private private private String strings[] = {"Metal", "Motif", "Windows"}; UIManager.LookAndFeelInfo aparencia[]; JRadioButton radio[]; ButtonGroup grupo; JButton botao; JLabel rotulo; JComboBox comboBox; JTextField campo; JTextArea texto;

//Configura a GUI public TesteLookAndFeel() {

super("Testa a APARENCIA e COMPORTAMENTO"); Container container = getContentPane(); // Configura Painel para a regia NORTH de BorderLayout JPanel painelNorte = new JPanel(); painelNorte.setLayout(new GridLayout(2, 2, 5, 5)); // Configura o rtulo para o painel Norte rotulo = new JLabel("Esta a aparencia Metal"); rotulo.setVerticalTextPosition(SwingConstants.CENTER); container.add(rotulo); // Configura o boto para o painel NORTH botao = new JButton("Sou um Botao"); painelNorte.add(botao); campo = new JTextField("Qualque texto"); painelNorte.add(campo); //Configura caixa de combinacao comboBox = new JComboBox(strings); painelNorte.add(comboBox); //anexa o painelNorte regio NORTH container.add(painelNorte, BorderLayout.NORTH); // cria ARRAY para os botes de opcao radio = new JRadioButton[3]; JPanel painelSul = new JPanel(); painelSul.setLayout(new GridLayout(1, 3)); radio = new JRadioButton[3]; radio[ 0] = new JRadioButton("Metal"); radio[ 1] = new JRadioButton("Motif"); radio[ 2] = new JRadioButton("Windows"); grupo = new ButtonGroup(); TratadorDeItens trat = new TratadorDeItens(); for (int count = 0; count < radio.length; count++) { radio[ count].addItemListener(trat); grupo.add(radio[ count]); painelSul.add(radio[ count]); } //anexa PainelSul regio SOUTH container.add(painelSul, BorderLayout.SOUTH); // Obtem informacoes sobre a aparencia e comportamento instalado aparencia = UIManager.getInstalledLookAndFeels(); setSize(400, 300); setVisible(true); radio[ 0].setSelected(true); } //Usa UIManager para mudar a aparencia e comportamento da GUI private void mudeTheLookAndFeel(int valor) { try {

UIManager.setLookAndFeel(aparencia[ valor].getClassName()); SwingUtilities.updateComponentTreeUI(this); } catch (Exception exception) { exception.printStackTrace(); } } public static void main(String args[]) { TesteLookAndFeel aplicacao = new TesteLookAndFeel(); aplicacao.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } //classe inter privada para tratar de eventos dos botoes de opcao private class TratadorDeItens implements ItemListener { @Override public void itemStateChanged(ItemEvent evento) { for (int count = 0; count < radio.length; count++) { if (radio[ count].isSelected()) { rotulo.setText("Esta a aparencia " + strings[ count]); comboBox.setSelectedIndex(count); mudeTheLookAndFeel(count); } } } } }