快速业务通道

Swing对JTextPane中字体颜色的设置 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

Swing对JTextPane中字体颜色的设置

时间:2011-06-21 BlogJava zht

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 NewJFrame extends javax.swing.JFrame implements ActionListener { 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) {   NewJFrame inst = new NewJFrame();   inst.setVisible(true); } public NewJFrame() {   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 do

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号