Uso Linux sem problemas (+/- né?!). Ao tentar instalar o Java numa máquina de meu amigo surgiu um problema estranho: Instalei o java, configurei as váriáveis, coloque o eclipse, ele reconhece tudo bonitinho sem da pau nenhum mas na hora de rodar surge isto:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/java/jdk1.6.0_12/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1778)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1674)
at java.lang.Runtime.load0(Runtime.java:770)
at java.lang.System.load(System.java:1005)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1778)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1695)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)
at sun.awt.DebugHelper.<clinit>(DebugHelper.java:29)
at java.awt.Component.<clinit>(Component.java:560)
Could not find the main class: Teste.Teste. Program will exit.
Oque pode ser? Já desinstalei e instalei novamente.
packageTeste;importjavax.swing.JFrame;importjavax.swing.JLabel;importcom.sun.awt.AWTUtilities;publicclassTesteextendsJFrame{/** * @param args */publicJLabellbTeste;publicstaticvoidmain(String[]args){// TODO Auto-generated method stubTestet=newTeste();t.setVisible(true);}publicTeste(){AWTUtilities.setWindowOpacity(this,0.5f);setSize(500,500);setDefaultCloseOperation(EXIT_ON_CLOSE);setLocationRelativeTo(null);setLayout(null);setTitle("Frame transparente em Linux");setResizable(false);//--------lbTeste=newJLabel("Testando...");lbTeste.setBounds(100,100,100,25);getContentPane().add(lbTeste);}}
somma
Opa mano!!!
Teste aqui … mais fiz outro exemplo e funcionou…
O seu problema é erro de compilação.
segue meu exemplo:
packageTeste;importjavax.swing.JFrame;importjavax.swing.JLabel;publicclassTesteextendsJFrame{// Cria uma janela, adiciona um componente e mostra a janela.privatestaticvoidcriaEMostraGUI(){JFrameframe=newJFrame("Exemplo 1");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabellabel=newJLabel("Texto dentro da janela");frame.getContentPane().add(label);frame.pack();frame.setVisible(true);}publicstaticvoidmain(String[]args){// Cria um objeto Runnable que invoca criaEMostraGUI() quando executado// por um thread.Runnablecoisa=newRunnable(){// Implementação do método run(). Note que este código declara uma// classe sem nome, aninhada à classe ExemploGUI1. Para mais informações// sobre esta forma de declarar classes, consulte// http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html e// http://java.sun.com/docs/books/tutorial/java/javaOO/innerclasses.htmlpublicvoidrun(){criaEMostraGUI();}};javax.swing.SwingUtilities.invokeLater(coisa);}}
gqferreira
Não tinha erro de compilação. Já usei essa classe diversas vezes. Até o seu exemplo apresentou o mesmo problema. O problema está na instalação do Java.
gqferreira
Já pudi perceber que esse erro só acontece quando há um frame. Fiz um classe para se conectar ao MySql e não deu erro. Fiz várias para testar e percebi que as que contém frame (interface) dá esse mesmo erro.
M
marcobiscaro2112
Uma biblioteca nativa do Linux (o arquivo /opt/java/jdk1.6.0_12/jre/lib/i386/xawt/libmawt.so) não existe e o mesmo é necessário para aplicações em swing. Quanto a instalação, certifique-se que o arquivo não está corrompido e que essa biblioteca existe no arquivo comprimido. Se não der certo, tente baixar esse arquivo separadamente e colocar na pasta indicada.
gqferreira
Já conferi esse diretório e arquivo se encontra lá.
M
marcobiscaro2112
Será que é erro de permissão? Talvez o usuário atual não possa ler o arquivo. Verifique as permissões.
jhonathan1403
eae galera… estou começando a linguagem java agora…
eu fiz um programa no eclipse e estou con alguns problemas
publicstaticintmain(){inta,b;a=14;b=15;if(a>b){System.out.println("a e maior que b");}else{System.out.println("a e menor que b");}}}c.add(Botoes[1]);Botoes[2]=newJButton("Vermelho"){publicstaticintmain(){//Declarando variaveisintx,y;//Criando um ScannerScannerinput=newScanner(System.in);System.out.println("Entre com o valor de 'a'");a=Input.nextInt();System.out.println("Entre com o valor de 'b'");b=Input.nextInt();if(a>b){System.out.println("O valor de 'a' e maior que o valor de 'b'");}else{System.out.println("O valor de 'a' e menor que o valor de 'b' ");}if(a==b){System.out.println("O valor de 'a' e de 'b' são iguais!");}}}c.add(Botoes[2]);Botoes[3]=newJButton("Amarelo"){publicstaticvoidmain(String[]args){System.out.println("Bye bye");return;}}c.add(Botoes[3]);janelaDemo.setVisible(true);
é o metodo main, uma variável ou um método normal???
O seu código está incompreensível, é mais fácil você dizer o que você quer fazer.
Como sei que você está começando agora, vou te dar uma dica: quando postar seu código coloque entre as tags “code” aperte o botão Code, cole o seu código e aperte ele novamente.
Fala aê o que vc quer fazer?!