Newsgroup: it.comp.java
Titolo: AIUTO::::o sono scemo io o è pazza la jvm!

ciao a tutti,
ho fatto un semplicissimo programma swing che subclassa la JFrame e in cui
ho messo un paio di bottoni inizializzati così nel costruttore:
   JButton bottone=new JButton("testo bottone");
poi li ho aggiunti alla finestra in questo modo:
   this.getContentPane().add(bottone);
alla fine chiamo la setVisible() per mostrare il tutto.
quando avvio il file .class, perchè diavolo succede che a volte mi mostra
correttamente i testi dei bottoni e altre volte questi sono completamente
vuoti o addirittura li stampa da un'altra parte dello schermo???
la cosa assurda è che questa anomalia avviene con lo stesso file
compilato, a volte funziona e a volte no!
devo forse fare qualche refresh grafico per essere sicuro che ci sia tutto
oppure devo portare dallo psichiatra la mia java virtual machine?
vi ringrazio tutti anticipatamente.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 vi ringrazio tutti anticipatamente.
1) Posta il codice completo
2) Le leggi della probabilita' mi direbbero che l'errore e' tuo, pero' 
effettivamente non sembra cosi' dalla descrizione "random" dell'errore...
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

>    this.getContentPane().add(bottone);
di default contentpane ha un BorderLayout. Se non gli dici dove mettere i
tuoi bottoni(north, south, east...) non saprei proprio dove vanno a
finire ;)
Prova a fare qualcosa tipo 
this.getContentPane().add(bottoni,BorderLayout.NORTH);
dovrebbe andare.
Ciao
Matteo
-- 
chi sono e soprattutto chi non sono:
http://www.ilnomedeldominio.it
un programma per studenti universitari:
http://inutility.ilnomedeldominio.it/imsv/

 
Mostra il codice, altrimento non si puň capire che cosa succede.

 finire ;)
Di default il BorderLayout posiziona sempre al centro, non è "undefined 
behavior" :-)
pole
-- 
Note: Some input words use a deprecated author.
Note: Read with -deprecation to understand.

 behavior" :-)
Mi sono spiegato male. Volevo dire che bisognerebbe specificare per ogni
bottone dove deve essere messo. Perché se mette il "paio di bottoni" tutti
e due al centro senza metterli a loro volta in un JPanel mi sa che viene
fuori la schifezza che vede lui.
Ma probabilmente mi sbaglio ;)


 vuoti o addirittura li stampa da un'altra parte dello schermo???
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Già visto questo comportamento. Lavori su piattaforma Windows, vero? prova
ad aggiornare i driver della scheda video e le librerie DirectX...
-- 
Fermate Scientology prima che sia troppo tardi!!!
http://xenu.com-it.net
 - 
http://xenu.freewinds.cx/
(per rispondere personalmente leva IlDitoDalCulo)

 Matteo
Se metti 2 bottoni al centro ti visualizza solo il secono ;)
-- 
reply: remove .duh.spam
http://web.ticino.com/cthulhu/

 ad aggiornare i driver della scheda video e le librerie DirectX...
Grazie di tutti questi interventi, ecco il codice, che è semplicissimo:
import javax.swing.*;
public class MioForm extends JFrame {
	JButton bottone;
	public static void main(String[] arg) {
		MioForm f=new MioForm();
	}
	public MioForm() {
		bottone=new JButton("testo bottone");
		getContentPane().add(bottone);
		pack();
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setTitle("Prova");
		setVisible(true);
	}
}
Una volta che è stato compilato, a volte il testo appare, altre volte no!
Quindi il problema non è nella compilazione ma nell'esecuzione.
E per giunta, quelle poche volte che parte bene, appena provo a
ridimensionare la finestra, scompare il testo!
Il SO è Winzoz XP SP1, directx 9, j2se 1.4 (l'ultimo), la s3 credo che sia
fallita da tempo :(((
Cosa è che non va??
Lupin


 Cosa è che non va??
Nulla.
Hai provato a seguire il consiglio di [Ech3L0n] NSA?


 fallita da tempo :(((                                    ^^^^
Oddio... c'č ancora qualcuno che lavora con quelle povere schede... si č
fallita, e nessuno si cura piů di conservarne i driver :/ oltretutto hanno
la video bios bacata (errore corretto via sofware, ma sempre in agguato)... 
L'unico consiglio che ti posso dare č di cambiarla. Se devi per forza
rimanere su bus PCI (perchč non puoi cambiare scheda madre, e ti capisco
benissimo) sul mercato dell'usato puoi ancora trovare delle schede Matrox
Millenium G200 PCI, che con gli ultimi driver collaborano correttamente e
senza fiatare con la JVM Sun.
Che ti posso dire... in bocca al lupo!


 Che ti posso dire... in bocca al lupo!
Grazie mille! almeno sono sicuro che non era un problema di codice.
Quindi cercherò qualche volenteroso che ha scritto un driver aggiornato..
Ciao!
