Acho q é problema do Sistema Operacional, mas…
Vejam se vcs podem me ajudar…
Eu peguei um exemplo em java.swing na internet, aí testei, funcionou perfeitamente no computador da faculdade, mas no computador aqui de casa fica tdo preto onde era para ter o JLabel…
Preto em cada cor metal lá…
Afinal, fica mto estranho
spreker, o problema está muito vago. Poste o código para visualizarmos, daí poderemos te ajudar.
Abraços
Uso o Eclipse
Vou postar o Código e o erro
package exemplos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TesteLookAndFeel extends JFrame {
private String strings[] = {"Metal", "Motif", "Windows"};
private UIManager.LookAndFeelInfo aparencia[];
private JRadioButton radio[];
private ButtonGroup grupo;
private JButton botao;
private JLabel rotulo;
private JComboBox comboBox;
private JTextField campo;
private JTextArea texto;
//configura a GUI
public TesteLookAndFeel() {
super("Testando a aparência e o comportamento");
Container container = getContentPane();
// configura painel para a região NORTH de BorderLayout
JPanel painelNorte = new JPanel();
painelNorte.setLayout(new GridLayout( 2, 2, 5, 5));
//configura rótulo para o painel NORTH
rotulo = new JLabel("Esta é a aparência Metal");
rotulo.setVerticalTextPosition(SwingConstants.CENTER);
container.add(rotulo);
//configura o botão para o painel NORTH
botao = new JButton("Eu sou um Botão");
painelNorte.add( botao );
campo = new JTextField("Qualquer texto");
painelNorte.add(campo);
//configura caixa de combinação para o painel NORTH
comboBox = new JComboBox(strings);
painelNorte.add( comboBox );
//anexa o painelNorte à região NORTH do painel de conteúdo
container.add( painelNorte, BorderLayout.NORTH );
//cria array para os botões de opção
radio = new JRadioButton[3];
//configura painel para a região SOUTH de BorderLayout
JPanel painelSul = new JPanel();
painelSul.setLayout( new GridLayout( 1, 3 ) );
//configura botões de opção para o painelSul
radio = new JRadioButton[ 3 ];
radio[ 0 ] = new JRadioButton( "Metal" );
radio[ 1 ] = new JRadioButton( "Motif" );
radio[ 2 ] = new JRadioButton( "Windows" );
grupo = new ButtonGroup(); //implementa exclusão mútua
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 o painelSul à região SOUTH do painel de conteúdo
container.add( painelSul, BorderLayout.SOUTH );
//obtém informações sobre a aparência e
//comportamento instalado
aparencia = UIManager.getInstalledLookAndFeels();
setSize( 400, 300 );
setVisible( true );
radio[ 0 ].setSelected( true );
}
//usa UIManager para mudar a aparência e comportamento da GUI
private void mudeTheLookAndFeel( int valor )
{
// muda aparência e comportamento
try{
UIManager.setLookAndFeel(
aparencia[ valor ].getClassName());
SwingUtilities.updateComponentTreeUI( this );
}
// processa problemas com a mudança da aparência e
// do comportamento
catch ( Exception exception ) {
exception.printStackTrace();
}
}
// executa a aplicação
public static void main( String args[] ){
TesteLookAndFeel aplicacao = new TesteLookAndFeel();
aplicacao.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE );
}
// classe interna privativa para tratar eventos dos botões de opção
private class TratadorDeItens implements ItemListener {
// processa a seleção de aparência e comportamento
// feita pelo usuário
public void itemStateChanged( ItemEvent evento ){
for( int count = 0; count < radio.length; count++ ){
if( radio[ count ].isSelected() ){
rotulo.setText( "Esta é a aparência " +
strings[ count ]);
comboBox.setSelectedIndex( count );
mudeTheLookAndFeel( count );
}
}
}
}
}
Veja, n tem nenhum erro, só tem uma variável q nunca é usada…
Agora vejam o erro q dá
[list]Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at javax.swing.plaf.basic.BasicComboBoxUI.setPopupVisible(Unknown Source)
at javax.swing.JComboBox.setPopupVisible(Unknown Source)
at javax.swing.JComboBox.hidePopup(Unknown Source)
at javax.swing.JComboBox$1.ancestorAdded(Unknown Source)
at javax.swing.AncestorNotifier.fireAncestorAdded(Unknown Source)
at javax.swing.AncestorNotifier.componentShown(Unknown Source)
at java.awt.AWTEventMulticaster.componentShown(Unknown Source)
at java.awt.Component.processComponentEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Window.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
[/list]
Acrescentando, n é só esse programa q dá problema n, dá problema em todos os programas feitos com gráfico em java
Boa noite
Vc ja verificou se e por causa da maquina virtual java.
Peguei seu codigo e funcionou perfeitamente na minha máquina. Pode ser provavelmente algo relacionado a versão do sua maquina virtual ou não. E pode ser tb algo relacionado ao ser pc tb.
Provavelmente quase 100% de certeza algo relacionado ao seu SO
Também acho q é cara…
Mas tipo, eu n sei como fazer esses consertos n…
Conferir a máquina virtual, o driver de vídeo…
Tipo, uso o Windows XP…
Se alguém souber como vejo se essas coisas estão boas, me avisem, por favor.
cara é a versão do java que tu ta usando pra compilar da uma olhada la nas propriedades do projeto no java compiler…
aqui não tava dando erro, so que eu mechi no compilance level e ta dando o mesmo erro que o seu agora… o problema é que eu voltei pro 1.5
e ta dando erro ainda tambem hahahh… mas da uma mechida ai quem sabe não resolve…
o erro é gerado internamente por esse comando
SwingUtilities.updateComponentTreeUI( this );
se comentar ele não da erro porem não faz oque tu quer : D , mal a pressa de não testar + agora, mas tenho que durmir
Cara, eu já usava o 6.0, mas tentei mudar para o 5;0…
E cara, dá sempre o mesmo erro, até no 4.0 deu o mesmo erro…
Esse do " 1. SwingUtilities.updateComponentTreeUI( this ); "
Cara, n entendi n, em qualquer lugar q eu coloco o eclipse diz q n pode.
Gente, preciso urgentemente dessa resposta… Tenho projeto final da matéria de Java da faculdade para entregar até dia 10 de julho…
E o pior, parece q esse tópico foi movido, justo até, mas n aparece no subfórum Interface Gráfica
Cara… ja que o problema ta na linha do lookandfeel testa usar isso;
// Só funciona em Windows
UIManager.setLookAndFeel(“com.sun.java.swing.plaf.windows.WindowsLookAndFeel”);
ou então joga:
UIManager.setLookAndFeel(UIManager.getLookAndFeel);
veja se resolve…
falowaer
Cara, n resolveu n…
Primeiro pq eu nem sei onde colocar isso no código :p…
Mas então, o problema passou a acontecer qdo eu instalei o Eclipse de C/C++ por cima do de java sem querer, depois reinstalei o de Java por cima do de C/C++