View Full Version : JAVA: problema con messaggi
StringBuffer message = new StringBuffer("\nIl nome del file non deve contenere spazi, apici, doppi apici, o apostrofi.\n");
message.append("Inoltre non sono ammissibili i seguenti caratteri:\n");
message.append("\\ / : * ? " + '"' + " < > |");
JOptionPane.showMessageDialog(this, AllegatiConstants.getHtmlText(message.toString()),
"Attenzione", JOptionPane.ERROR_MESSAGE,icon);
getHtmlText() è un metodo che mi sostituisce gli a capo "/n" con dei <br>, perciò la stringa da
visualizzare risulterebbe:
<br>Il nome del file non deve contenere spazi, apici, doppi apici, o apostrofi.<br>
Inoltre non sono ammissibili i seguenti caratteri:<br>
\\ / : * ? " < > |)
Il risultato è nell'immagine allegata...praticamente sembra che la largezza della finestra sia
calcolata senza tenere conto degli a capo... Come potrei fare?
Ma perchè sosituire gli /n con <br>? Con gli /n funziona normalmente.
L'avevo fatto perchè avevo lo stess oproblema, e volevo verificare se mettendo i br si risolveva...
Con me funziona tranquillamente se metto gli /n (vedi allegato), l'unica differenza è che non ho usato uno StringBauffer, ma una String
Mi sono spiegato male... Anche a me funziona con del testo normale, il mio scopo è dare una formattazione HTML al messaggio... ti riporto il metodo getHtmlText() cui accennavo prima...
public final static String HTML_TAG_START = "<html><b><font size=+0 color=black> ";
public final static String HTML_TAG_END = " </font></b></html>";
....
public static String getHtmlText(String text){
StringBuffer sb = new StringBuffer();
StringTokenizer st = new StringTokenizer(text,"\n",false);
if (st.hasMoreTokens())
sb.append(st.nextToken());
while (st.hasMoreTokens()){
sb.append("<br>");
sb.append(st.nextToken());
}
//System.out.println("DEBUG!! " + sb.toString());
return HTML_TAG_START + sb.toString() + AllegatiConstants.HTML_TAG_END;
}
Con la mia versione di java (1.4.2) la fienstra di dialogo non è allungata otre il necessario (vedi allegato), prova a vedere se funziona meglio se invece di aggiugere una stringa come message, aggiungi una JLabel formattata con l'html, cioè, invece di:
JOptionPane.showMessageDialog(this, AllegatiConstants.getHtmlText(message.toString()), "Attenzione", JOptionPane.ERROR_MESSAGE,icon);
prova con:
JOptionPane.showMessageDialog(this, new JLabel(AllegatiConstants.getHtmlText(message.toString())), "Attenzione", JOptionPane.ERROR_MESSAGE,icon);
Niente...stesso risultato :(
questo l'ho recuperato direttamente dal fondo del forum :eek:
cn, sento che stai usando Linux.
Il codice che hai postato è corretto. E' corretto anche quello di anx721 (non che dubitassi di uno dei due, è solo che sono proprio andato a scartabellare le pagine di Sun sull'uso di HTML nei componenti Swing).
10 a 1 che è un problema dell'AWT sotto Linux (ma non ho trovato bug segnalati sull'argomento).
Compilo sotto UNIX ma eseguo sotto Windows... Secondo me è un problema della 1.1.8 ...
Originariamente inviato da cn73
1.1.8 ...
Oh la madonna, chi è che t'ha incatenato ad una versione così vecchia! Usi per caso VisualAge 4 Java (o un nome così) ?
No, questo applicativo è nato con questa versione, e la riconfigurazione dei client ma soprattutto dei server è troppo onerosa a detta della ditta. E io devo fare i miracoli :D
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.