PDA

Visualizza la versione completa : [JAVA] Applicazione Swing non visualizzabile sotto WinXP


var
15-10-2005, 18:44
salve a tutti,

ho realizzato (con Eclipse, sotto Java 1.5.04) un'applicazione molto semplice che utilizza un JFrame. tutto questo sotto Linux, dove il contenuto di tale JFrame si vede perfettamente.
bene, come mai tale applicazione, portata su WinXP, non funziona correttamente?
in sostanza appare il riquadro del JFrame ma il suo contenuto non si vede (si vede solo lo sfondo grigio).

le applicazioni a console funzionano correttamente.

chi sa darmi una mano?
grazie. :)

unomichisiada
15-10-2005, 19:24
Originariamente inviato da var
salve a tutti,

ho realizzato (con Eclipse, sotto Java 1.5.04) un'applicazione molto semplice che utilizza un JFrame. tutto questo sotto Linux, dove il contenuto di tale JFrame si vede perfettamente.
bene, come mai tale applicazione, portata su WinXP, non funziona correttamente?
in sostanza appare il riquadro del JFrame ma il suo contenuto non si vede (si vede solo lo sfondo grigio).

le applicazioni a console funzionano correttamente.

chi sa darmi una mano?
grazie. :)
la cosa pi pbobabile che tu abbia installato una diversa versione della JVM sotto i due sistemi operativi. Un'altra ipotesi che tu abbia mischiato componeti grafici awt e swing (che gi di per se un errore) e il comportamneto risulti diverso sui due SO. La prima ipotesi mi sembra pi probabile. Soluzione: fai un upgrade della jvm pi vecchia alla versione di quella pi nuova (oppure modifica il codice in modo che il frame si veda bene in quella pi vecchia e nell'altra si vedr bene quasi di sicuro)

var
15-10-2005, 19:34
Originariamente inviato da unomichisiada
la cosa pi pbobabile che tu abbia installato una diversa versione della JVM sotto i due sistemi operativi. Un'altra ipotesi che tu abbia mischiato componeti grafici awt e swing (che gi di per se un errore) e il comportamneto risulti diverso sui due SO. La prima ipotesi mi sembra pi probabile. Soluzione: fai un upgrade della jvm pi vecchia alla versione di quella pi nuova (oppure modifica il codice in modo che il frame si veda bene in quella pi vecchia e nell'altra si vedr bene quasi di sicuro)

ho fatto delle prove: ho creato un progetto ex novo in Eclipse e ho semplicemente cercato di istanziare un oggetto di classe JFrame, appiccicandoci sopra un'etichetta. ottengo lo stesso risultato (JFrame a sfondo grigio).

dunque il problema non risiede nella mia applicazione originaria... :|

var
16-10-2005, 13:12
nessuno sa da darmi una mano? :(
anche se creo una piccola applicazioncina del genere:



import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Color;

public class A extends JFrame{

A(){
setTitle("Ciao");
setBounds(10, 10, 300, 300);
getContentPane().add(new JButton("ciao"));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBackground(Color.RED);
setVisible(true);
}

public static void main(String args[]){
A a=new A();
}

}

tutto cio' che ottengo e' un riquadro rosso.
mannaggia la pupattola...

Mods
16-10-2005, 13:22
uhm... se nn ricordo male il contentPane di default un BorderLayout quindi o li da un FlowLayout oppure devi specificare dove posizionare il bottone con BorderLayout.<posizione>

var
16-10-2005, 13:26
Originariamente inviato da Mods
uhm... se nn ricordo male il contentPane di default un BorderLayout quindi o li da un FlowLayout oppure devi specificare dove posizionare il bottone con BorderLayout.<posizione>

niente da fare, neanche impostando FlowLayout come layout manager.

Mods
16-10-2005, 13:41
ho provato a compilarlo sotto Windows con la jdk 1.5.0_05 e funziona perfettamente... a qst punto direi ke nn il codice

var
16-10-2005, 13:55
Originariamente inviato da Mods
ho provato a compilarlo sotto Windows con la jdk 1.5.0_05 e funziona perfettamente... a qst punto direi ke nn il codice

ma porca miseria, anche io utilizzo la stessa versione di JDK. :dh:
la cosa strana e' che le applicazioni a console funzionano correttamente.

Mods
16-10-2005, 15:32
non che magari hai installate altre versioni di JVM??

in tal caso dovresti fare "java -version:1.5 nomeClasse"

anx721
17-10-2005, 16:50
hai provato a reinstallare completamente java?

Loading