1Danke
ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
435
435
EMPFEHLEN
-
Hallo Leute,
habe ein Problem. Die Schriftart im JEditorPane ändert sich leider nicht.
Quellcode:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
import javax.swing.Action; import javax.swing.JButton; public class frmRtf extends JPanel implements ActionListener{ private JMenuItem mntmArial; private JEditorPane editorPane; private JMenuItem mntmVerdana; public static void main(String[] args) { JFrame frm = new JFrame(); frm.getContentPane().add(new frmRtf()); frm.setVisible(true); frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frm.setBounds(100, 100, 920, 593); } /** * Create the panel. */ public frmRtf() { setLayout(new BorderLayout(0, 0)); editorPane = new JEditorPane(); add(editorPane); RTFEditorKit rtf = new RTFEditorKit(); editorPane.setEditorKit(rtf); JMenuBar menuBar = new JMenuBar(); add(menuBar, BorderLayout.NORTH); JMenu mnNewMenu = new JMenu("Schriftarten"); menuBar.add(mnNewMenu); mntmArial = new JMenuItem("Arial"); mntmArial.setFont(new Font("Arial", Font.PLAIN, 12)); mnNewMenu.add(mntmArial); JMenuItem mntmCourier = new JMenuItem("Courier"); mntmCourier.setFont(new Font("Courier New", Font.PLAIN, 12)); mnNewMenu.add(mntmCourier); JMenuItem mntmTimesNewRoman = new JMenuItem("Times New Roman"); mntmTimesNewRoman.setFont(new Font("Times New Roman", Font.PLAIN, 12)); mnNewMenu.add(mntmTimesNewRoman); mntmVerdana = new JMenuItem("Verdana"); mntmVerdana.addActionListener(this); mntmVerdana.setFont(new Font("Verdana", Font.PLAIN, 12)); mnNewMenu.add(mntmVerdana); } public void actionPerformed(ActionEvent e) { if (e.getSource() == mntmVerdana) { do_mntmVerdana_actionPerformed(e); editorPane.setFont(new Font("Verdana", Font.PLAIN, 12)); } if (e.getSource() == mntmArial) { do_mntmNewMenuItem_actionPerformed(e); editorPane.setFont(new Font("Arial", Font.PLAIN, 12)); } } protected void do_mntmNewMenuItem_actionPerformed(ActionEvent e) { } protected void do_mntmVerdana_actionPerformed(ActionEvent e) { } }
Wäre nett wenn ihr mir helfen könntet...
Viele Grüße
Trigoor
-
19.08.11 07:57 #2
Hi,
welcher Font ist denn Standardmäßig bei JEditorPane eingestellt? Mithilfe von deinem Code kannst du außerdem auch nur die Schriftart "Verdena" einstellen, da die anderen noch nicht zum ActionListener hinzugefügt hast.
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
19.08.11 10:29 #3
- Registriert seit
- Jun 2009
- Beiträge
- 870
Außerdem sind die Methoden
leer, du rufst die selsam benannte frmRtf() nicht auf.Code java:1 2 3 4
protected void do_mntmNewMenuItem_actionPerformed(ActionEvent e) { } protected void do_mntmVerdana_actionPerformed(ActionEvent e) { }
PS: du musst die Methodennamen nicht beim Programmieren obfuscatenCode bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
-
Hallo...,
erst einmal Danke für die Tipps!
@Fabio:
Ich glaube der Standard bei JEditorPane dürfte "Times New Roman" sein.
Im Moment habe ich nur ein Event hinter dem Menüeintrag "Verdana". Wollte es erst einmal ausprobieren.
@genodeftest:
Habe jetzt eine anonyme Klasse für den Event erstellt. Das Präfix frm bin ich von VB.NET gewöhnt.
Obfuscaten bedeutet ja, dass ich den Quellcode verschleiere. Wo verschleiere ich denn da was?
Code :1 2 3 4
protected void do_mntmNewMenuItem_actionPerformed(ActionEvent e) { } protected void do_mntmVerdana_actionPerformed(ActionEvent e) { }
Habe meinen Quellcode ein bisschen verändert. Er sieht jetzt so aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
import java.awt.BorderLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.text.rtf.RTFEditorKit; public class frmRtf extends JPanel { private JMenuItem mntmArial; private JEditorPane editorPane; private JMenuItem mntmVerdana; public static void main(String[] args) { JFrame frm = new JFrame(); frm.getContentPane().add(new frmRtf()); frm.setVisible(true); frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frm.setBounds(100, 100, 920, 593); } /** * Create the panel. */ public frmRtf() { setLayout(new BorderLayout(0, 0)); editorPane = new JEditorPane(); add(editorPane); RTFEditorKit rtf = new RTFEditorKit(); editorPane.setEditorKit(rtf); JMenuBar menuBar = new JMenuBar(); add(menuBar, BorderLayout.NORTH); JMenu mnNewMenu = new JMenu("Schriftarten"); menuBar.add(mnNewMenu); mntmVerdana = new JMenuItem("Verdana"); mntmVerdana.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { editorPane.setFont(new Font("Verdana", Font.PLAIN, 12)); JDialog jd = new JDialog(); jd.show(); } }); mntmVerdana.setFont(new Font("Verdana", Font.PLAIN, 12)); mnNewMenu.add(mntmVerdana); } }
Zur Übersichtlichkeit habe ich mal die die anderen Menüeinträge rausgenommen.
Viele Grüße
TrigoorGeändert von Trigoor2 (20.08.11 um 13:15 Uhr)
-
20.08.11 13:50 #5
Hi,
mit Obfuscaten meinte er, dass du deine Variablen und Methoden (aus unserer Sicht) komisch benennst. (z.B.: ...mntm...****)
Also ich habe im Internet mal ein Beispiel gefunden, wie man den Font eines JEditorPanes wohl noch ändern kann. Ich habe das nicht ausprobiert, daher kann ich nicht sagen, ob es wirklich funktioniert. Hier mal der Code:
Und hier noch der Link, falls du selber mal auf die Seite schauen willst.Code java:1 2 3 4
Font font = new Font("Arial", 12, Font.Bold); String bodyRule = "body { font-family: " + font.getFamily() + "; " + "font-size: " + font.getSize() + "pt; }"; ((HTMLDocument)editorPane.getDocument()).getStyleSheet().addRule(bodyRule);
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
Hallo Fabio,
Danke erst einmal dafür, dass Du für mich sogar google um Rat gefragt hast.
Will ja ein rtf-Dokument. Kein HTML.
Die Variable mntmNewMenuItem wird automtatisch vom WindowBuilder erzeugt.
Habe folgenden Code probiert:
Code :1 2 3 4 5
Font font = new Font("Arial", 12, Font.BOLD); String bodyRule = "body { font-family: " + font.getFamily() + "; " +"font-size: " + font.getSize() + "pt; }"; editorPane.setFont(font);
Aber leider klappt das auch nicht.
-
20.08.11 15:07 #7
Also soweit ich das jetzt beurteilen kann, ist es wahrscheinlich nicht möglich, mit "RTFEditorKit" den Font zu ändern. Das wird evtl. daran liegen, dass dieses EditorKit nicht von den Swingentwicklern entwickelt wurde.
Was willst du denn später für ein Dokument als Ausgabe haben, dann kann man den Inhalt des JEditorPanes evtl. in das jeweilige Ausgabeformat umwandeln.
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
Hallo Fabio,
habe das Problem gelöst. Du hattest Recht. Mit RTFEditorKit klappt das nicht. Wozu gibt es die überhaupt? Und warum hat sie die Methode setFont, wenn es sowieso nicht klappt
Habe aber jetzt eine Lösung gefunden!
So funktioniert es:
Code :1 2 3
JEditorPane editorPane = new JEditorPane(); editorPane.setContentType( "rtf" ); editorPane.setFont(new Font("Verdana", Font.PLAIN, 72));
Danke Fabio!
Gruß
Trigoor
-
20.08.11 22:20 #9
Keine Ursache.

Wenn du das Thema noch als erledigt markierst, wäre es super.Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
Ahhh..ja. Hatte den Button "erledigt" schon gesucht gehabt. Habe ihn jetzt gefunden. Bin ja neu hier.
Ähnliche Themen
-
globale Variable in Funktion ändern klappt nicht
Von Noeden im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 31.05.11, 13:24 -
charset=iso-8859-1 im JEditorPane nicht darstellbar!!
Von macsx im Forum JavaAntworten: 1Letzter Beitrag: 22.07.08, 22:01 -
Drucklayout und Javascript: IE+Opera klappt-Netscape 7.1+Firefox1.07 klappt nicht
Von 53783_dagmar im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 15.08.07, 13:59 -
Drucklayout und Javascript: IE+Opera klappt-Netscape 7.1+Firefox1.07 klappt nicht
Von 53783_dagmar im Forum CSSAntworten: 0Letzter Beitrag: 15.08.07, 13:59 -
Buttons auf dem JEditorPane lassen sich nicht richtig löschen
Von Lautsprecher im Forum JavaAntworten: 2Letzter Beitrag: 26.07.07, 12:38





Zitieren
Login





