PDA

View Full Version : [java]alcune domande su awt


Alexxio
10-09-2005, 20:08
scusate se il topic è un po' generico, ma è inutile aprire mille post su alcune cose che non mi sono chiare...potete darmi una manina? :D

1)Ho un ciclo for che scrive su file, ma talvolta può succedere che esso sia troppo lungo e ci sia bisogno di stopparlo...potete aiutarmi a scrivere una funzione che all'inizio di ogni ciclo controlli se è stato premuto ad esempio il tasto "spazio" fermi il ciclo senza interrompere il programma?


2)Ho costruito un panel ma non so come fare a creare una finestra di errore se qualcuno scrive qualcosa di sbagliato...per il momento ho solo scritto che se avviene l'eccezione esce con system.exit() :D
Mi aiutate a fare qlcs di migliore?tipo un popup error?

3)Come andare a capo in una label o in una textarea?ES: trasformare AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA in
AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAA
non dite \n che non funziona!! :D

anx721
10-09-2005, 21:43
1 - ciclo for deve trovarsi in un thread separato (cioè in un filo di esecuzione separato dal programma principale). Il programma principale avvia il thread che eseguirà il ciclo for (usa sorta di programma parallelo al primo con cui condivide la stessa memoria), e poi si mette in attesa di leggere un input dall'utente (in questo modo il programma principale si interrompe finche l'untente non inseriscece comunque qualcosa)

2 - devi usare la classe JOprionPane, ad esempio questa istruzione ti fa apparire una finestra popup conunmessaggio d'errore:

JOptionPane.showMessageDialog(null, "Hai provocato un errore perchè....", "Errore...", JOptionPane.ERROR_MESSAGE);

3 - in una textarea funziona il "\n".In una JLabel puoi ottenere la formattazione tramite i tag html, in particolare il tag <br> lo poi usare per andare a capo. Cosi se vuoi stampare "ciao" "a tutti" su due righe diverse, basta settare come testo della JLabel:

<html>Ciao<br>a tutti</html>

Mixmar
11-09-2005, 13:07
3 - in una textarea funziona il "\n".In una JLabel puoi ottenere la formattazione tramite i tag html, in particolare il tag <br> lo poi usare per andare a capo. Cosi se vuoi stampare "ciao" "a tutti" su due righe diverse, basta settare come testo della JLabel:

<html>Ciao<br>a tutti</html>

Questa non la sapevo! Grazie anx721, tornerà utile anche a me! :D

anx721
11-09-2005, 15:11
E' una funzionalità offerta non solo dalle label, ma anche da bottoni, voci di menu, check box; si possono usare i tag per il font, il colore, lo stile (corsivo, grassetto), la dimensione, liste ordinate e non, paragrafi:

http://java.sun.com/docs/books/tutorial/uiswing/components/html.html

Alexxio
11-09-2005, 18:05
grazie mille tvb :D
sarà un casino aprire un thread in un programma già tutto fatto in cui non avevo previsto l'uso di thread :'(

ci sentiremo presto credo :P

Alexxio
13-09-2005, 02:36
beh si in effetti era come temevo...sto usando awt e non swing...ora io swing non l'ho mai visto quindi vorrei poter non cambiare tutto il programma dato che ho usato un label e non una JLabel...quindi non posso andare a capo con l'html....e neanke usare una joprionpane...come fare con awt?

anx721
13-09-2005, 03:08
se l'interfaccia grafica non e molto complessa non dovrebbe essere difficile pasare a swinf. awt non è piu supportata.

Alexxio
13-09-2005, 09:05
in che senso non è più supportata?
non volevo passare a swing perchè non è implementata nell'ide J# della microsoft...

anx721
13-09-2005, 14:16
in che senso non è più supportata?
non volevo passare a swing perchè non è implementata nell'ide J# della microsoft...


di male in peggio...è l'ambiente peggiore che potevi scegliere come prova questo problema.

Non è supportata nel senso che awt è rimasto cosi come era all'inizio salvo correggere bug, non è piu stato ampliato e migliorato perche è swing la libreria di riferimento ormai.

Alexxio
14-09-2005, 19:06
che usate come ide per win?

anx721
14-09-2005, 19:20
prova netbeans o eclipse o jbuilder