jEditorPane1.getSelectionStart(); und jEditorPane1.getSelectionEnd();
String text = jEditorPane1.getText(); String selectedText = text.subString(selStart, selEnd);
JEditorPane editor = new JEditorPane();
editor.setContentType("text/html");
for(Action action : editor.getActions())
{
System.out.println(action.getValue(Action.NAME));
System.out.println(" " + action);
}
set-read-only
javax.swing.text.DefaultEditorKit$ReadOnlyAction@5e179a
selection-down
javax.swing.text.DefaultEditorKit$NextVisualPositionAction@15fadcf
selection-begin-line
javax.swing.text.DefaultEditorKit$BeginLineAction@8c1dd9
activate-link-action
javax.swing.text.html.HTMLEditorKit$ActivateLinkAction@fbb7cb
next-link-action
javax.swing.text.html.HTMLEditorKit$NavigateLinkAction@1df8b99
font-size-48
javax.swing.text.StyledEditorKit$FontSizeAction@1462851
select-word
javax.swing.text.DefaultEditorKit$SelectWordAction@1010058
selection-page-right
javax.swing.text.DefaultEditorKit$PageAction@bdab91
font-family-Serif
javax.swing.text.StyledEditorKit$FontFamilyAction@4ac00c
select-all
javax.swing.text.DefaultEditorKit$SelectAllAction@1865b28
InsertOrderedListItem
javax.swing.text.html.HTMLEditorKit$InsertHTMLTextAction@1cac6db
font-size-8
javax.swing.text.StyledEditorKit$FontSizeAction@1c56c60
selection-page-down
javax.swing.text.DefaultEditorKit$VerticalPageAction@4e280c
font-size-36
javax.swing.text.StyledEditorKit$FontSizeAction@1275d39
insert-content
javax.swing.text.DefaultEditorKit$InsertContentAction@1595f51
left-justify
javax.swing.text.StyledEditorKit$AlignmentAction@80d1ff
selection-previous-word
javax.swing.text.DefaultEditorKit$PreviousWordAction@15ac3c9
selection-page-up
javax.swing.text.DefaultEditorKit$VerticalPageAction@1ebd75b
toggle-componentOrientation
javax.swing.text.DefaultEditorKit$ToggleComponentOrientationAction@87c268
selection-end-word
javax.swing.text.DefaultEditorKit$EndWordAction@ec4a87
insert-break
javax.swing.text.StyledEditorKit$StyledInsertBreakAction@110fe28
caret-end-word
javax.swing.text.DefaultEditorKit$EndWordAction@9e29fb
center-justify
javax.swing.text.StyledEditorKit$AlignmentAction@1d64c37
InsertTable
javax.swing.text.html.HTMLEditorKit$InsertHTMLTextAction@25d2b2
page-up
javax.swing.text.DefaultEditorKit$VerticalPageAction@12be1bd
font-size-24
javax.swing.text.StyledEditorKit$FontSizeAction@1f17e77
beep
javax.swing.text.DefaultEditorKit$BeepAction@1a5f739
InsertUnorderedList
javax.swing.text.html.HTMLEditorKit$InsertHTMLTextAction@109fd93
font-family-Monospaced
javax.swing.text.StyledEditorKit$FontFamilyAction@e6ff0d
selection-page-left
javax.swing.text.DefaultEditorKit$PageAction@172e449
InsertUnorderedListItem
javax.swing.text.html.HTMLEditorKit$InsertHTMLTextAction@1e97f9f
selection-begin-word
javax.swing.text.DefaultEditorKit$BeginWordAction@b9b538
right-justify
javax.swing.text.StyledEditorKit$AlignmentAction@288051
delete-previous
javax.swing.text.DefaultEditorKit$DeletePrevCharAction@10045eb
caret-begin-line
javax.swing.text.DefaultEditorKit$BeginLineAction@ee7a14
font-underline
javax.swing.text.StyledEditorKit$UnderlineAction@90cb03
InsertHR
javax.swing.text.html.HTMLEditorKit$InsertHRAction@6cb8
font-size-18
javax.swing.text.StyledEditorKit$FontSizeAction@1e1a408
InsertOrderedList
javax.swing.text.html.HTMLEditorKit$InsertHTMLTextAction@d81784
font-size-16
javax.swing.text.StyledEditorKit$FontSizeAction@f01a1e
selection-forward
javax.swing.text.DefaultEditorKit$NextVisualPositionAction@142a80d
caret-forward
javax.swing.text.DefaultEditorKit$NextVisualPositionAction@126f75b
font-size-14
javax.swing.text.StyledEditorKit$FontSizeAction@139b78e
font-size-12
javax.swing.text.StyledEditorKit$FontSizeAction@41d05d
font-bold
javax.swing.text.StyledEditorKit$BoldAction@d6a05e
default-typed
javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction@ba8602
font-size-10
javax.swing.text.StyledEditorKit$FontSizeAction@1b3f8f6
font-family-SansSerif
javax.swing.text.StyledEditorKit$FontFamilyAction@9df6f1
cut-to-clipboard
javax.swing.text.DefaultEditorKit$CutAction@bf7190
select-line
javax.swing.text.DefaultEditorKit$SelectLineAction@b8bef7
previous-link-action
javax.swing.text.html.HTMLEditorKit$NavigateLinkAction@1016632
caret-end-paragraph
javax.swing.text.DefaultEditorKit$EndParagraphAction@dc6a77
selection-up
javax.swing.text.DefaultEditorKit$NextVisualPositionAction@d1e89e
caret-begin
javax.swing.text.DefaultEditorKit$BeginAction@ff057f
copy-to-clipboard
javax.swing.text.DefaultEditorKit$CopyAction@c1f10e
select-paragraph
javax.swing.text.DefaultEditorKit$SelectParagraphAction@b8deef
font-italic
javax.swing.text.StyledEditorKit$ItalicAction@1342ba4
InsertTableDataCell
javax.swing.text.html.HTMLEditorKit$InsertHTMLTextAction@1d332b
caret-up
javax.swing.text.DefaultEditorKit$NextVisualPositionAction@10a6ae2
selection-end
javax.swing.text.DefaultEditorKit$EndAction@ef2c60
caret-next-word
javax.swing.text.DefaultEditorKit$NextWordAction@4a6cbf
caret-down
javax.swing.text.DefaultEditorKit$NextVisualPositionAction@29ab3e
selection-next-word
javax.swing.text.DefaultEditorKit$NextWordAction@1a99561
InsertPre
javax.swing.text.html.HTMLEditorKit$InsertHTMLTextAction@8e32e7
delete-next
javax.swing.text.DefaultEditorKit$DeleteNextCharAction@1b000e7
selection-backward
javax.swing.text.DefaultEditorKit$NextVisualPositionAction@b76fa
selection-end-line
javax.swing.text.DefaultEditorKit$EndLineAction@b01d43
caret-begin-paragraph
javax.swing.text.DefaultEditorKit$BeginParagraphAction@513cf0
set-writable
javax.swing.text.DefaultEditorKit$WritableAction@177b3cd
selection-begin
javax.swing.text.DefaultEditorKit$BeginAction@1bd7848
page-down
javax.swing.text.DefaultEditorKit$VerticalPageAction@23e5d1
InsertTableRow
javax.swing.text.html.HTMLEditorKit$InsertHTMLTextAction@c4fe76
caret-end
javax.swing.text.DefaultEditorKit$EndAction@11e1e67
caret-backward
javax.swing.text.DefaultEditorKit$NextVisualPositionAction@5e176f
caret-end-line
javax.swing.text.DefaultEditorKit$EndLineAction@1549f94
unselect
javax.swing.text.DefaultEditorKit$UnselectAction@b8c8e6
paste-from-clipboard
javax.swing.text.DefaultEditorKit$PasteAction@18d9850
insert-tab
javax.swing.text.DefaultEditorKit$InsertTabAction@10ab323
dump-model
javax.swing.text.DefaultEditorKit$DumpModelAction@176e552
selection-end-paragraph
javax.swing.text.DefaultEditorKit$EndParagraphAction@c980c9
selection-begin-paragraph
javax.swing.text.DefaultEditorKit$BeginParagraphAction@12611a7
caret-begin-word
javax.swing.text.DefaultEditorKit$BeginWordAction@51052d
caret-previous-word
javax.swing.text.DefaultEditorKit$PreviousWordAction@12ad19e
Und du hast dir innerhalb von zwei Minuten das Stylepad-Beispiel angeschaut? :autsch:geisi hat gesagt.:tut mir leid, aber ich habe keine ahnung, was du meinst
In jdk#.#.#/demo/jfc/Stylepad (habe ich doch geschrieben )geisi hat gesagt.:wo finde ich das stylepad
JEditorPane editor = new JEditorPane();
editor.setContentType("text/html");
editor.setEditable(false);
// Alle definierten Actions holen und ein Map eintragen (Name, Action)
Map<String, Action> map = new HashMap<String, Action>(128);
for(Action action : editor.getActions())
map.put(action.getValue(Action.NAME), action);
// Die Action "font-underline" und "font-bold" holen und in einem Button stecken
JButton underlineButton = new JButton(map.get("font-underline"));
JButton boldButton = new JButton(map.get("font-bold"));
...
Map<Object, Action> map = new HashMap<Object, Action>(128);
for(Action action : editor.getActions())
map.put(action.getValue(Action.NAME), action);
...
import java.util.HashMap;
import java.util.Map;
import javax.swing.Action;
import javax.swing.JButton;
/*
* asdf.java
*
* Created on 02. Juni 2006, 18:20
*/
/**
*
* @author Admin
*/
public class asdf extends javax.swing.JDialog
{
/** Creates new form asdf */
public asdf(java.awt.Frame parent, boolean modal)
{
super(parent, modal);
initComponents();
Map<Object, Action> map = new HashMap<Object, Action>(128);
for(Action action : jEditorPane1.getActions())
map.put(action.getValue(Action.NAME), action);
// Die Action "font-underline" und "font-bold" holen und in einem Button stecken
jButton1.setAction(map.get("font-underline"));
jButton2.setAction(map.get("font-bold"));
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents()
{
jScrollPane1 = new javax.swing.JScrollPane();
jEditorPane1 = new javax.swing.JEditorPane();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jScrollPane1.setViewportView(jEditorPane1);
jButton1.setText("jButton1");
jButton2.setText("jButton2");
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)
.add(layout.createSequentialGroup()
.add(jButton1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 238, Short.MAX_VALUE)
.add(jButton2)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 243, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton1)
.add(jButton2))
.addContainerGap())
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[])
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new asdf(new javax.swing.JFrame(), true).setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JEditorPane jEditorPane1;
private javax.swing.JScrollPane jScrollPane1;
// End of variables declaration
}
...
jEditorPane1 = new javax.swing.JEditorPane();
jEditorPane1.setContentType("text/html");
oder
jEditorPane1.setContentType("text/rtf");
...
jButton1.addActionListener(map.get("font-underline"));
jButton2.addActionListener(map.get("font-bold"));
Schau dir doch die EditorKits und das Stylepad-Beispiel an. Es sind darin Actions definiert, die das erledigen.geisi hat gesagt.:x) wie kann ich den makierten Text färben?
Action pinkAction = new StyledEditorKit.ForegroundAction("set-foreground-pink", Color.PINK);
Dies liegt daran, dass der Button den Focus an sich reisst.geisi hat gesagt.:x) wenn ich auf den Button klicke, dann verschwindet auch die makierung im JEditorPane. Wie kann ich die Makierung trotzdem beibehalten?
jButton1.setRequestFocusEnabled(false);
jButton2.setRequestFocusEnabled(false);
Siehe StyledEditorKit.FontFamilyAction und StyledEditorKit.FontSizeActiongeisi hat gesagt.:x) ich habe für die Schriftgröße und Schriftart eine JComboBox gemacht. Wie kann ich den einzelnen ComboBox-Einträgen einen ActionListener zuweisen?
Action orangeForeAction = new StyledEditorKit.ForegroundAction("set-foreground-orange", Color.ORANGE)
Action orangeBackAction = new StyledEditorKit.BackgroundAction("set-background-orange", Color.ORANGE) //gibt es nicht
geisi hat gesagt.:
Na dann schau dir StyledEditorKit.ForegroundAction an und schreib eine, diegeisi hat gesagt.:Code:[code]...StyledEditorKit.BackgroundAction(...) //gibt es nicht