Textausgabe in neuem Fenster

new@java

Mitglied
Hallo,

ich bin gerade dabei, ein kleines Spiel zu programmieren und möchte, dass sich bei Klick auf einen bestimmten Button ein neues Fenster öffnet, in dem formatierter Text steht. Seit Tagen halte ich mich an dieser Sache, die eigentlich eine Kleinigkeit ist, auf. Und das Internet hilft mir auch nicht weiter, finde einfach nicht den passenden Hinweis und weiß auch schon nicht mehr, wonach ich suchen soll. Also, ich hoffe, hier kann mir jemand weiterhelfen. Hier mein Quellcode für das Fenster, in dem der Text stehen soll:

Java:
import javax.swing.*;
import java.awt.*;
import java.text.*;

public class Spielregeln extends JFrame
{
	 public Spielregeln() 
	  {
	    super();
	    setSize( 800,200 );
	    setTitle ("Spielregeln");
	    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);   
	    setVisible( true );
	    getContentPane().setLayout(new FlowLayout());
	    JLabel label = new JLabel("Textausgabe");
	    label.setFont(new Font("Serif", Font.PLAIN, 36));
	    getContentPane().add(label);
	    setSize(800, 500);
	    setLocationRelativeTo(null);  
	    setVisible(true);

	  }
	    	 
	  public static void main( String[] args)
	  {
	    new Spielregeln();
	  }

	}

Das Öffnen des Fensters funktioniert einwandfrei. Es steht halt bisher nur "Textausgabe" in dem Fenster, wo wie ich es oben ja auch festgelegt habe. Aber wie bekomme ich es hin, dass ein längerer, formatierter Text (Spielregeln) angezeigt wird?

Vielen Dank im Voraus für eure Hilfe!
 

new@java

Mitglied
Danke für die schnelle Antwort, eRaaaa! Die Seite ist auch wirklich nicht schlecht. Aber ich vermute, mir mangelt´s am Grundverständnis. An welcher Stelle genau muss der eigentliche Text denn im Quellcode stehen? Sehe auf der Seite nirgendwo den Text im Quellcode. Bei mir ist er ja quasi auf dem Label und wird ja auch angezeigt, aber ich kann ja schließlich nicht den ganzen Text in die Gänsefüßchen schreiben und dann formatieren, oder? Verstehst du ansatzweise, worauf ich hinaus will? ???:L Bin mir nicht sicher, ob ich mich klar genug ausdrücke :)
 

eRaaaa

Top Contributor
aber ich kann ja schließlich nicht den ganzen Text in die Gänsefüßchen schreiben und dann formatieren, oder?

Doch klar könntest du. Du musst halt ein JTextPane benutzen und diesem dann ein StyledDocument setzen. Auf der Seite ist ja eine Beispielklasse die du mal ausprobieren könntest.
Mir scheint als wenn du dir den Artikel nicht durchgelesen hättest. Am Ende wird nämlich ein Beispiel gezeigt wie das Document zum Einsatz kommt.
Über die Methode kannst du dann den Text formatieren, z.B. mit der Methode
public void setBold(int start, int end, boolean active) kannst du halt sagen von welcher Position bis zur welchen Position der Text dick formatiert werdne soll(ode eben wieder ausgeschaltet werden soll wenn active = false)
Verstehst du ansatzweise, worauf ich hinaus will? ???:L Bin mir nicht sicher, ob ich mich klar genug ausdrücke :)
Ich verstehe schon(denke ich zumindest) nur ich wüsste halt nicht was man noch ergänzend zu dme Artikel sagen kann ohne konkrete Fragen ;D Nimm dir vllt mal ein paar Minuten mehr Zeit, lies den gesamten Artikel und führe das Beispiel aus. Dann bau es bei dir ein oder konkretisiere deine Fragen :p
 
G

Gastredner

Gast
Ich würde folgendermaßen vorgehen:
  • Schreibe deinen Hilfetext in HTML-Form in eine Datei, z. B. help.html.
  • Erstelle eine JEditorPane und setze sie Read-Only ([c]setEditable(false);[/c]).
  • Besorge dir über den Classloader eine URL, die zu deiner HTML-Datei führt:
    Code:
    URL helpFile = getClass().getClassLoader().getResource("./help.html");
    (dieser Code ist ein Beispiel und funktioniert nur, wenn deine Hilfedatei direkt neben deinem fertigen Jar bzw. in deinem Eclipse-Projekt liegt).
  • Setze die URL als Input für deine JEditorPane (wie in diesem Beispiel gezeigt).
  • Übergebe deine JEditorPane einer JOptionPane lasse diese einen entsprechenden Dialog anzeigen:
    Code:
    JOptionPane.showMessageDialog(deinFrame, deineEditorPane, "Hilfe", JOptionPane.PLAIN_MESSAGE, null);
Die Kombination von JTextPane und StyledDocument ist vermutlich flexibler, aber für deine Zwecke sollte ein Dokument mit den Formatierungsmöglichkeiten von HTML 3.2 vermutlich vollkommen ausreichen. Außerdem ist es meiner Meinung nach einfacher als der Umgang mit dem StyledDocument.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H GUI-Textausgabe Fehler AWT, Swing, JavaFX & SWT 5
D Textausgabe in jTextArea über andere Klasse AWT, Swing, JavaFX & SWT 6
B Textausgabe erzwingen AWT, Swing, JavaFX & SWT 8
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
L Daten in neuem Fenster AWT, Swing, JavaFX & SWT 2
B JFrame mit neuem JPanel überschreiben AWT, Swing, JavaFX & SWT 13
C ImageIcon eines Labels auf einem Panel in neuem Fenster anzeigen AWT, Swing, JavaFX & SWT 2
T Swing JProgressBar Indeterminate bleibt stehen bei neuem Fenster AWT, Swing, JavaFX & SWT 6
A KeyListener funktioniert nicht beim Öffnen von neuem Frame. AWT, Swing, JavaFX & SWT 2
G JTable: Zellenhöhe mit neuem CellRenderer & Editor AWT, Swing, JavaFX & SWT 17
oppec TextArea in neuem Fenster öffnen AWT, Swing, JavaFX & SWT 2
J Knoten in Eclipse Swing Fenster werden nur zentral angezeigt (Position wird ignoriert) AWT, Swing, JavaFX & SWT 2
M suche geeignetes Fenster zur Anzeige AWT, Swing, JavaFX & SWT 49
berserkerdq2 Kann ich ein Rechteck mittig im Fenster halten, egal wie ich die Bildschirmgröße verändere? AWT, Swing, JavaFX & SWT 3
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
TheSepp Fenster um x Pixel bewegen, wenn man auf dem Knopf drückt AWT, Swing, JavaFX & SWT 10
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
L Swing Files abspeichern mit Save as Dialog Fenster AWT, Swing, JavaFX & SWT 5
OZAN86 einfaches Fenster öffnen scheitert AWT, Swing, JavaFX & SWT 18
G Zuletzt aktives Fenster, vor dem aktuell aktiven AWT, Swing, JavaFX & SWT 2
sserio Kann man bei JavaFx ein Fenster aufkommen lassen? AWT, Swing, JavaFX & SWT 1
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
S Swing Alles beenden bei Fenster mit Scroll-Balken AWT, Swing, JavaFX & SWT 6
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
MiMa JavaFX Fenster in JavaFX öffnen Schliessen (Initialisierung) AWT, Swing, JavaFX & SWT 20
N Kontextmenü (Popup-Fenster) erstellen AWT, Swing, JavaFX & SWT 3
L Hintergrundbild im Fenster darstellen AWT, Swing, JavaFX & SWT 9
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
S Swing Fenster State Machine AWT, Swing, JavaFX & SWT 1
A Fenster genau unterhalb von JTextField anzeigen AWT, Swing, JavaFX & SWT 1
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
S Swing Bei start des Programmes kein Fenster zu sehen AWT, Swing, JavaFX & SWT 1
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
M JavaFX Altes Fenster (FXML Datei) löschen AWT, Swing, JavaFX & SWT 16
P JavaFX Fenster lädt nicht mehr AWT, Swing, JavaFX & SWT 4
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JavaFX Fenster 1 Array übertragen zur Fenster 2 AWT, Swing, JavaFX & SWT 0
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
K Fenster welches den Sieger anzeigt AWT, Swing, JavaFX & SWT 5
O JavaFX Fenster scließen AWT, Swing, JavaFX & SWT 4
A Swing Fenster ändert Position bei Mausklick nicht AWT, Swing, JavaFX & SWT 2
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
L Input aus Sub-Fenster Startfenster übergeben AWT, Swing, JavaFX & SWT 5
B AWT Fenster schließt nicht AWT, Swing, JavaFX & SWT 2
H JavaFX Kriege fehler beim Fenster wechseln AWT, Swing, JavaFX & SWT 7
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
U Swing Inhalt vom Fenster wird erst durch Hovern oder Klicken sichtbar AWT, Swing, JavaFX & SWT 3
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
T Fenster schließen AWT, Swing, JavaFX & SWT 4
K JavaFX ObservableList + Fenster AWT, Swing, JavaFX & SWT 6
windl Transparentes / halbtransparentes Fenster AWT, Swing, JavaFX & SWT 1
K Fenster mittig im Vollbildschirm - ok, aber ... AWT, Swing, JavaFX & SWT 2
N Swing Sorry nicht mal ein Fenster öffnen... AWT, Swing, JavaFX & SWT 19
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
D JavaFX (WebStart) Graues Fenster beim Start AWT, Swing, JavaFX & SWT 4
J Button vergrößert sich bei Fenster resize AWT, Swing, JavaFX & SWT 22
L Zweites Fenster mit Thread AWT, Swing, JavaFX & SWT 0
Paul15 Zwei Fenster AWT, Swing, JavaFX & SWT 23
T LayoutManager Methode, um Bildschirm(fenster) für Aktualisierungen zu blockieren bzw. freizugeben gesucht AWT, Swing, JavaFX & SWT 2
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
A Swing Textübergabe innerhalb der Anwendung in unterschiedlichen Fenster AWT, Swing, JavaFX & SWT 8
wolfgang63 JavaFX Animation, Kreise im vorgegebem Takt durchs Fenster laufen lassen AWT, Swing, JavaFX & SWT 3
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
Z Fenster leer, wenn ich ein JTextField erzeuge AWT, Swing, JavaFX & SWT 3
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
X Swing 2 Fenster (1 im Vordergrund) AWT, Swing, JavaFX & SWT 6
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
T JavaFX ControlsFX-Notification öffnet nicht wenn kein JavaFX-Fenster offen. AWT, Swing, JavaFX & SWT 1
E JavaFX JavaFX Fenster nicht schließen AWT, Swing, JavaFX & SWT 4
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1
thet1983 offne Fenster gemeinsam schließen AWT, Swing, JavaFX & SWT 8
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
Z JSlider im Modalen-Fenster AWT, Swing, JavaFX & SWT 0
Tort-E JavaFX Fenster nachladen AWT, Swing, JavaFX & SWT 1
V Fenster in einem Fenster anordnen AWT, Swing, JavaFX & SWT 7
I Zwei Fenster nebeneinander anzeigen AWT, Swing, JavaFX & SWT 2
U Fenster beim Vergörßern immer quadratsich AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben