View Full Version : [java]Eventi e file
stella_650
28-02-2007, 07:04
Ciao a tutti!Mi servirebbe un aiuto per risolvere un problemino in Java.
La mia idea è quella di associare come evento la lettura da un file.
In pratica io ho un programma che implementa una finestra con due bottoni e ad uno di essi devo associare l'apertura di una nuova finestra che contenga il contenuto di un file creato in formato .txt.
Quali sono le istruzioni che dovrei seguire per fare ciò?
Io ho provato con le seguenti istruzioni:
...
String message="Hai premuto ";
if (button==b1) {
BufferedReader in=new BufferedReader(new FileReader("Description.txt"));
String line;
while((line=in.readLine())!=null)
message+="<Description>"+line;
}
Il problema è che le andate a capo del file non vengono considerate cos', e l'intero testo contenuto nel file non viene letto come desidero.Esiste un modo efficiente che possa soddisfare questa mia richiesta??
Grazie per l'interessamento a priori...
Spero che qualcuno mi possa essere di aiuto;)
Il problema è che le andate a capo del file non vengono considerate cos', e l'intero testo contenuto nel file non viene letto come desidero.Esiste un modo efficiente che possa soddisfare questa mia richiesta??Se leggi la documentazione di readLine() della classe BufferedReader, lo spiega chiaramente:
Returns:
A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached
Cosa fare, dipende anche da dove devi poi mostrare il testo: se devi mostrarlo dentro una JTextArea, allora credo che basti accodare un "\r\n" dopo ogni riga.
stella_650
28-02-2007, 09:34
Ciao andbin
Ho provato ad inserire delle andate a capo dopo l'operazione di lettura solo che cmq non ho ottenuto quello che cercavo.
Ti allego l'intero programma cos' si comprende quello che vorrei realizzare...
GRazie
cmq non ho ottenuto quello che cercavo.Perché hai usato una JLabel per mostrare il testo. JLabel non ha la capacità di gestire i newline .... a meno che si formatti il testo come codice html. Cioè dovresti avere una stringa del tipo: "<html>ciao<br>prova</html>"
Questo però comporterebbe la necessità di inserire un <br> dopo ogni riga ma sopratutto si dovrebbero convertire certi caratteri speciali (& " ' < >) nelle rispettive entità HTML.
Il mio consiglio è: usa JTextArea per mostrare il testo.
stella_650
28-02-2007, 11:24
scusami ancora ma non avendo mai utilizzato JTextArea, mi potresti dare una dritta su come impiegarla nel programma che ho allegato?
...GRazie ancora
scusami ancora ma non avendo mai utilizzato JTextArea, mi potresti dare una dritta su come impiegarla nel programma che ho allegato?A livello di istanziazione, cambia davvero poco da una JLabel:
JTextArea txtarea = new JTextArea (message);
Se non vuoi che il testo sia editabile dall'utente puoi fare:
txtarea.setEditable (false);
stella_650
28-02-2007, 14:03
Grazie mille!!!
Con quelle poche istruzioni sn riuscita ad ottenere quello che volevo:)
stella_650
01-03-2007, 11:01
Forse vorrei troppo...:) ma sempre in merito a quello stesso programma, mi servirebbe inserire un'immagine nella finestra principale come sfondo,cioè avere la finestra con l'immagine e i due bottoni.
Ho aggiunto del codice che speravo mi aiutasse a risolvere il problema ma ho problemi per aggiungerlo al pannello principale...
E' possibile fare ciò che vorrei?Se è sì, qualche suggerimento..please:)
...è sviluppato all'interno della calsse che extends JFrame nello stesso file allegato ieri
Image immagine;
Toolkit t = Toolkit.getDefaultToolkit();
immagine = t.getImage("Numbers.jpg");
try
{
MediaTracker track = new MediaTracker(this);
track.addImage(immagine,0);
track.waitForID(0);
}
catch (InterruptedException e) {};
}
Vuoi fare questo?
http://www.hwupgrade.it/forum/showthread.php?t=1414323
Network86
01-03-2007, 11:50
Utilizza un JTextArea oppure un JEditor.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.