300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java字体设置 包括大小 颜色 加粗 下划线 对齐 斜体的设置

java字体设置 包括大小 颜色 加粗 下划线 对齐 斜体的设置

时间:2021-08-15 23:28:49

相关推荐

java字体设置 包括大小 颜色 加粗 下划线 对齐 斜体的设置

本文转自:/Swing/archive//12/26/128965.html

下面的代码告诉我们该怎么在文本编辑器中设置字体大小,颜色,加粗,下划线等许多便捷操作~

感谢原作者提供的代码。

import java.awt.BorderLayout;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JEditorPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextPane;import javax.swing.UIManager;import javax.swing.WindowConstants;import javax.swing.text.AttributeSet;import javax.swing.text.DefaultStyledDocument;import javax.swing.text.Document;import javax.swing.text.EditorKit;import javax.swing.text.MutableAttributeSet;import javax.swing.text.SimpleAttributeSet;import javax.swing.text.StyleConstants;import javax.swing.text.StyledDocument;import javax.swing.text.StyledEditorKit;public class TestFonts extends javax.swing.JFrame implements ActionListener {private static final long serialVersionUID = 1L;private JPanel jp1;private JButton color;private JTextPane jep;private JScrollPane jsp;private JButton font;/*** Auto-generated main method to display this JFrame*/public static void main(String[] args) {TestFonts inst = new TestFonts();inst.setVisible(true);}public TestFonts() {super();initGUI();}private void initGUI() {try {BorderLayout thisLayout = new BorderLayout();getContentPane().setLayout(thisLayout);setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);{jp1 = new JPanel();getContentPane().add(jp1, BorderLayout.NORTH);{font = new JButton();font.addActionListener(this);jp1.add(font);font.setText("font");}{color = new JButton();jp1.add(color);color.addActionListener(this);color.setText("color");}}{jsp = new JScrollPane();getContentPane().add(jsp, BorderLayout.CENTER);{jep = new JTextPane();jsp.setViewportView(jep);jep.setDocument(new DefaultStyledDocument());}}pack();setSize(400, 300);} catch (Exception e) {e.printStackTrace();}}public static void setFontSize(JEditorPane editor, int size) {if (editor != null) {if ((size > 0) && (size < 512)) {MutableAttributeSet attr = new SimpleAttributeSet();StyleConstants.setFontSize(attr, size);setCharacterAttributes(editor, attr, false);} else {UIManager.getLookAndFeel().provideErrorFeedback(editor);}}}public static void setForeground(JEditorPane editor, Color fg) {if (editor != null) {if (fg != null) {MutableAttributeSet attr = new SimpleAttributeSet();StyleConstants.setForeground(attr, fg);setCharacterAttributes(editor, attr, false);} else {UIManager.getLookAndFeel().provideErrorFeedback(editor);}}}public static final void setCharacterAttributes(JEditorPane editor,AttributeSet attr, boolean replace) {int p0 = editor.getSelectionStart();int p1 = editor.getSelectionEnd();if (p0 != p1) {StyledDocument doc = getStyledDocument(editor);doc.setCharacterAttributes(p0, p1 - p0, attr, replace);}StyledEditorKit k = getStyledEditorKit(editor);MutableAttributeSet inputAttributes = k.getInputAttributes();if (replace) {inputAttributes.removeAttributes(inputAttributes);}inputAttributes.addAttributes(attr);}protected static final StyledDocument getStyledDocument(JEditorPane e) {Document d = e.getDocument();if (d instanceof StyledDocument) {return (StyledDocument) d;}throw new IllegalArgumentException("document must be StyledDocument");}protected static final StyledEditorKit getStyledEditorKit(JEditorPane e) {EditorKit k = e.getEditorKit();if (k instanceof StyledEditorKit) {return (StyledEditorKit) k;}throw new IllegalArgumentException("EditorKit must be StyledEditorKit");}public void actionPerformed(ActionEvent e) {Object obj = e.getSource();if (obj == font) {JEditorPane editor = jep;setFontSize(editor, 20);}if (obj == color) {JEditorPane editor = jep;setForeground(editor, Color.red);}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。