JOptionPane.showMessageDialog mit automatischem Zeilenumbruch

O

oiuoiuoiuoiuoiu

Gast
Hallo!

Mit
Java:
JOptionPane.showMessageDialog(this, text);
lasse ich mir Fehlermeldungen grafisch ausgeben. Es wäre gut wenn dabei längerer Text automatisch umgebrochen wird. Ist das möglich oder muss ich mir da was eigenes programmieren?
 

pl4gu33

Top Contributor
Hallo!

Mit
Java:
JOptionPane.showMessageDialog(this, text);
lasse ich mir Fehlermeldungen grafisch ausgeben. Es wäre gut wenn dabei längerer Text automatisch umgebrochen wird. Ist das möglich oder muss ich mir da was eigenes programmieren?

mm die Frage ist woher soll die Box das wissen, wann du nen Umbruch haben willst?
du kannst in deinen Text einfach ein \n reinsetzen da wird dann umgebrochen,...

geht natürlich nur, wenn du den Text vorher festlegst :D
 
Zuletzt bearbeitet:
O

oiuoiuoiuoiuoiu

Gast
mm die Frage ist woher soll die Box das wissen, wann du nen Umbruch haben willst?
Mein Bildschirm wär z.B. ne gute Grenze ;) Aber jede andere maximale Breite wär auch in Ordnung, nur jetzt kommen teilweise so breite Fenster raus, dass man erstmal an ihnen ziehen muss, um überhaupt den OK-Knopf zu sehen.

du kannst in deinen Text einfach ein \n reinsetzen da wird dann umgebrochen,...

geht natürlich nur, wenn du den Text vorher festlegst :D
Das geht leider nicht, da der Text nicht von mir kommt :(
 

pl4gu33

Top Contributor
Mein Bildschirm wär z.B. ne gute Grenze ;) Aber jede andere maximale Breite wär auch in Ordnung, nur jetzt kommen teilweise so breite Fenster raus, dass man erstmal an ihnen ziehen muss, um überhaupt den OK-Knopf zu sehen.


Das geht leider nicht, da der Text nicht von mir kommt :(

dann könntest du evtl. ne Methode schreiben, die den Text alle z.b. 20 Zeichen nach ner Lücke also indexof(" ") untersucht und dann nen "\n" einfügt,... wäre jetzt für mich die einfachste Lösung vll. nicht die Beste^^
 
G

Gast2

Gast
Denke auch, dass du das manuell machen musst. Ich mache die Umbrüche per HTML. Allerdings sind das Texte welche aus den Übersetzungsdateien vorgegeben werden. Da haben wir uns geeinigt per HTML zu formattieren (Umbrüche fett ect.). Das macht bei uns eine andere Abteilung.
 

bERt0r

Top Contributor
Hab mir mal was ähnliches geschrieben:
Java:
public void showError(String s)
	{
		StringBuffer sb=new StringBuffer();
		String[] words=s.split(" ");
		int i=0;
		int rowLength=0;
		while(i<words.length)
		{
			if(rowLength>50)
			{
				sb.append("\n");
				rowLength=0;
			}
			rowLength=rowLength+words[i].length()+1;
			sb.append(words[i]).append(" ");
			i++;
		}
		
			JOptionPane.showMessageDialog(this,
			   sb.toString(),
			   "Fehler",
			   JOptionPane.ERROR_MESSAGE);
	}
 
O

oiuoiuoiuoiuoiu

Gast
Danke bERt0r. Habe das ganze mal noch ergänzt so dass explizite Zeilenumbrüche bedacht werden:

Java:
	public static void showError(String s)
	{
		StringBuilder sb = new StringBuilder();
		String[] lines = s.split("\n");
		for (String line : lines) {
			String[] words = line.split(" ");
			int i = 0;
			int rowLength = 0;
			while (i < words.length)
			{
				if (rowLength > 50)
				{
					sb.append("\n");
					rowLength = 0;
				}
				rowLength = rowLength + words[i].length() + 1;
				sb.append(words[i]).append(" ");
				i++;
			}
			sb.append("\n");
		}
		JOptionPane.showMessageDialog(null, sb.toString(), "Fehler", JOptionPane.ERROR_MESSAGE);
	}
 

KrokoDiehl

Top Contributor
Der Vollständigkeit halber:
Du kannst einer JOptionPane auch eine JTextArea geben, die den Zeilenumbruch für dich handhaben kann. Könnte in etwa so aussehen:

Java:
public void showMessageBox(String msg) {
    final JTextArea textBox = new JTextArea(msg, 10, 30);
    textBox.setBorder(null);
    textBox.setEditable(false);
    textBox.setLineWrap(true);
    // ggfs weitere einstellungen

    JOptionPane.showMessageDialog(null, textBox);
}
 
G

Gast2

Gast
Da wird unter Umständen aber auch innerhalb des Wortes umgebrochen. Zudem sieht eine TextArea im Dialog nicht gerade schön aus. Man müsste diesen dann Optisch noch so anpassen, dass er wie ein Label aussieht. Zudem sind die Scrollbalken in einem Dialog sicher auch unerwünscht.

Der TO kann sich natürlich eine spezielle Klasse schreiben welche z.B. von JTextArea erbt un diese nach den benötigten Kriterien modifiziert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Ausgabe über JOptionPane.showMessageDialog funktioniert nicht AWT, Swing, JavaFX & SWT 2
B JFrame wie JOptionPane.showMessageDialog() AWT, Swing, JavaFX & SWT 2
F JOptionPane.showMessageDialog AWT, Swing, JavaFX & SWT 2
M JOptionPane.showMessageDialog() mit printStackTace() ? AWT, Swing, JavaFX & SWT 7
B Ein JOptionPane.showMessageDialog(.) AWT, Swing, JavaFX & SWT 6
S JOptionPane.showMessageDialog(.) AWT, Swing, JavaFX & SWT 23
G [JOptionPane.showMessageDialog] andere Anordnung mgl? AWT, Swing, JavaFX & SWT 2
G JOptionPane zeigt nicht an was ich will AWT, Swing, JavaFX & SWT 2
A JOptionPane OK ohne Eingabe abfangen AWT, Swing, JavaFX & SWT 10
senol JOptionPane hilfe!!! :(((( AWT, Swing, JavaFX & SWT 32
J JOptionPane ruft sich selbst immer wieder neu auf AWT, Swing, JavaFX & SWT 3
J JOptionPane return bei "Abbrechen" AWT, Swing, JavaFX & SWT 13
R JOptionPane schließt sich nicht wieder AWT, Swing, JavaFX & SWT 2
O Swing JOptionPane.showOptionDialog - Wie kann ich Buttons größer machen AWT, Swing, JavaFX & SWT 10
O Timer in JOptionPane anzeigen AWT, Swing, JavaFX & SWT 2
Z Swing JOptionPane import AWT, Swing, JavaFX & SWT 5
R Swing JOptionPane Sprache Ändern AWT, Swing, JavaFX & SWT 4
O JOptionPane mit JFileDialog AWT, Swing, JavaFX & SWT 5
dereki2000 JPanel mit Rückgbe wie bei JOptionPane AWT, Swing, JavaFX & SWT 3
T JavaFX JFrame verhalten wie JOptionPane (ErrorMessage) AWT, Swing, JavaFX & SWT 1
I JOptionPane maximale Zeichen einstellen AWT, Swing, JavaFX & SWT 2
N Swing Mocken von JOptionPane im JUnit-Test AWT, Swing, JavaFX & SWT 3
W JOptionPane AWT, Swing, JavaFX & SWT 1
T JOptionPane Dialog plus Rechnung ausgeben AWT, Swing, JavaFX & SWT 1
snipesss Hintergrundbild in JOptionPane.showInputDialog? AWT, Swing, JavaFX & SWT 4
R Swing JOptionPane Fehlermeldung- bitte um Hilfe! AWT, Swing, JavaFX & SWT 4
J Event Handling JOptionPane ActionListener setzen. AWT, Swing, JavaFX & SWT 3
A Swing JOptionPane.showConfirmDialog, EventQueue wird weiter abgearbeitet AWT, Swing, JavaFX & SWT 2
C JOptionPane.showConfirmDialog() -> Focus auf NEIN -> Enter gibt YES_OPTION zurück AWT, Swing, JavaFX & SWT 6
T JOptionPane Enter = Okay AWT, Swing, JavaFX & SWT 3
OnDemand JOptionPane AWT, Swing, JavaFX & SWT 2
D Swing JOptionPane verschwindet beim 2. Aufruf einfach so?? AWT, Swing, JavaFX & SWT 2
L Swing JOptionPane Verwirrung AWT, Swing, JavaFX & SWT 13
P JOptionPane input und show Message Dialog AWT, Swing, JavaFX & SWT 5
I javascript in javaprogramm JOptionpane -> haengt (embedded Interpreter) AWT, Swing, JavaFX & SWT 2
S JOptionPane sinnvoll benutzen AWT, Swing, JavaFX & SWT 7
J JOptionPane mit zwei Buttons?! AWT, Swing, JavaFX & SWT 3
D JOptionPane.QUESTION_MESSAGE Fett darstellen AWT, Swing, JavaFX & SWT 4
N JOptionPane als JWindow AWT, Swing, JavaFX & SWT 2
M Swing Änderungen eines TextFelds und JOptionPane AWT, Swing, JavaFX & SWT 5
E Swing setCaretPosition für ein JTextField in einem JOptionPane AWT, Swing, JavaFX & SWT 3
H Swing JOptionPane.showConfirmMessage() wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
R JOptionPane.YES_NO_CANCEL_OPTION im SaveDialog verwenden AWT, Swing, JavaFX & SWT 6
U JFrame minimiert nach JDialog, JOptionPane AWT, Swing, JavaFX & SWT 3
R Eingegebenen Text in JOptionPane in andere Klasse weitergeben AWT, Swing, JavaFX & SWT 2
M JOptionPane.showInputDialog abbrechen abfangen? AWT, Swing, JavaFX & SWT 2
Weiti JOptionPane aus einer von JPanel abgeleiteten Klasse aufrufen AWT, Swing, JavaFX & SWT 3
N OK-Button in JOptionPane ansprechen AWT, Swing, JavaFX & SWT 5
D Swing JOptionPane + FileChooser .. Reihenfolge wichtig!? AWT, Swing, JavaFX & SWT 7
G Swing Meldung mit joptionpane information message AWT, Swing, JavaFX & SWT 22
B Swing JOptionPane ohne beep AWT, Swing, JavaFX & SWT 6
A Swing \t im JOptionPane AWT, Swing, JavaFX & SWT 2
G JOptionPane.showConfirmDialog size problem AWT, Swing, JavaFX & SWT 3
S JOptionPane - InitialValue AWT, Swing, JavaFX & SWT 9
S JOptionPane resultat kriegen AWT, Swing, JavaFX & SWT 7
ABstraCT JOptionPane setSize ? AWT, Swing, JavaFX & SWT 6
S JOptionPane.showInputDialog JList erzwingen? AWT, Swing, JavaFX & SWT 4
SebSnake JFrame "Focus" erzwingen (wie JOptionPane) AWT, Swing, JavaFX & SWT 3
G JOptionPane.showInputDialog(): Texteingabe und Fokus AWT, Swing, JavaFX & SWT 3
A Array wird im JOptionPane mehrfach ausgegeben AWT, Swing, JavaFX & SWT 3
A JOptionPane soll auf Enter reagieren AWT, Swing, JavaFX & SWT 4
QDog JTabbedPane JOptionPane AWT, Swing, JavaFX & SWT 2
K Tabelle nach JOptionPane updaten AWT, Swing, JavaFX & SWT 5
A JOptionPane; CLOSED_OPTION ausschalten AWT, Swing, JavaFX & SWT 5
A Probleme mit einer JOptionPane in einem jar-File AWT, Swing, JavaFX & SWT 14
Z JOptionPane mit einer Methode in dem Vordergrund setzen? AWT, Swing, JavaFX & SWT 6
J JOptionPane Tabs AWT, Swing, JavaFX & SWT 3
G JOptionPane mit andere Farbe AWT, Swing, JavaFX & SWT 8
G komplexes JOptionPane (oder doch JFrame?) AWT, Swing, JavaFX & SWT 2
G JOptionPane mit link zum anklicken AWT, Swing, JavaFX & SWT 4
G JOptionPane AWT, Swing, JavaFX & SWT 6
N Probleme mit eigenem JOptionPane AWT, Swing, JavaFX & SWT 2
A Schließen eines JOptionPane.showConfirmDialog AWT, Swing, JavaFX & SWT 6
B JOptionPane.showInputDialog mit drei ComboBoxen nebeneinande AWT, Swing, JavaFX & SWT 2
S JTextField und JOptionPane - Zeicheneingabe beschränken AWT, Swing, JavaFX & SWT 3
G JOptionPane AWT, Swing, JavaFX & SWT 3
eskimo328 JOptionPane ohne CANCEL Button AWT, Swing, JavaFX & SWT 2
M JOptionPane.showConfirmDialog. Frage zur Cancel_Option AWT, Swing, JavaFX & SWT 2
L JOptionPane AWT, Swing, JavaFX & SWT 4
P JComboBox.addItem erzeugt Layoutproblem mit JOptionPane AWT, Swing, JavaFX & SWT 2
J eigenes JOptionPane ? AWT, Swing, JavaFX & SWT 2
J JOptionPane Buttons AWT, Swing, JavaFX & SWT 4
G Eingabe auslesen mit JOptionPane AWT, Swing, JavaFX & SWT 2
vogella JOptionPane in den Vordergrund bringen AWT, Swing, JavaFX & SWT 2
padde479 JOptionPane AWT, Swing, JavaFX & SWT 3
C Probleme beim Serialisieren mit JOptionPane AWT, Swing, JavaFX & SWT 12
S JOptionPane: methode ShowConfirmDialog ist undefiniert AWT, Swing, JavaFX & SWT 2
S JOptionPane und eine feste Zeilenbreite. AWT, Swing, JavaFX & SWT 4
S JProgressBar zu JOptionPane hinzufügen. AWT, Swing, JavaFX & SWT 8
G JOptionPane AWT, Swing, JavaFX & SWT 3
B Eingabeüberprüfung beim JOptionPane.showInputDialog() AWT, Swing, JavaFX & SWT 3
D Mit JOptionPane einen Link darstellen AWT, Swing, JavaFX & SWT 10
S Ein frage zu JOptionPane AWT, Swing, JavaFX & SWT 2
H wie frage ich mehrere buttons von joptionpane ab AWT, Swing, JavaFX & SWT 4
G Link in JoptionPane? AWT, Swing, JavaFX & SWT 3
N JOptionPane mit Html Tags AWT, Swing, JavaFX & SWT 5
B Focus in JOptionPane AWT, Swing, JavaFX & SWT 2
M Ausgabe mit JOptionPane AWT, Swing, JavaFX & SWT 6
U kleiner-Zeichen JEditorPanel (war: JOptionPane) AWT, Swing, JavaFX & SWT 5
S JOptionPane in den Bildschirmvordergrund bringen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben