Home
JavaEE
Java GUI
Framework
DHtml
Android
插画
教程下载

ATOM 2.0   RSS 2.0
Add to iGoogle Add to Live.com
  • DeZender对用Zend Encoder加密过的PHP文件反编译
  • 写一个用于微博同步的Google Desktop Gadget
  • 在同学的QZone中看到的BB用药大全
  • 今天终于收到金山快盘的邀请码
  • 利用最短ie判断在不同浏览器上播放背景音乐
  • 对插画方面的一点感受与回忆
  • 网上看到的两个死里逃生的图片,记录一下
  • 今天开通了糖果社区,附几个激活码
  • 终于可以实现我的多个微博实时同步了
  • 备案和现场拍照就是对站长们的瞎折腾
  • 今天开通了糖果社区,附几个激活码
  • 终于可以实现我的多个微博实时同步了
  • 备案和现场拍照就是对站长们的瞎折腾
  • 昨天借用飞姐的佳作做的一个浪漫爱情网页
  • 有几个腾讯微博的邀请码(实时更新)
  • BB的网站移到了GAE-JAVA上了
  • 一个基于GAE Python Web.py和JQuery的留言本程序
  • 类许愿墙的一个告白网站和一个电子书网站
  • Android中用Bitmap获取图片中某个区域的图象
  • 对暴力破解带密码的QQ相册的可行性分析
  • 对淘宝web旺旺版一些通讯接口的研究

JTextPane的简单的html可视编辑器

posted by David Chen at July 19, 2007, 7:21 AM    

jtextpane html 超链接 字体

1) 设置 html的 B 属性
SimpleAttributeSet attrset = new SimpleAttributeSet();
StyleConstants.setBold(attrset, true);
app.getJtp_html().setCharacterAttributes(attrset, false); // 会将选取中的文本设置为粗体

2) 设置 html的 I 或 EM 属性
SimpleAttributeSet attrset = new SimpleAttributeSet();
StyleConstants.setItalic(attrset, true);
app.getJtp_html().setCharacterAttributes(attrset, false);

3) 设置选取中的文本的颜色
JColorChooser jcc = new JColorChooser(); //对话框
Color c = jcc.showDialog(app.getJContentPane(), "请选择颜色", Color.black);
if(c != null) {
SimpleAttributeSet attrset = new SimpleAttributeSet();
StyleConstants.setForeground(attrset, c);
app.getJtp_html().setCharacterAttributes(attrset, false);
}

4) 给选取中文字添加超链接
用 HTMLEditorKit 插入html标签,用这个的话要注意在开始的时候给 jTextPane注入一个new HTMLEditorKit(), 不然会出错
String link = javax.swing.JOptionPane.showInputDialog(app.getJContentPane(), "请输入链接地址:");
if(link == null (link != null && link.trim().length() == 0))
return ;
HTMLEditorKit hek = (HTMLEditorKit) app.getJtp_html().getEditorKit();
try {
String t = app.getJtp_html().getSelectedText();
app.getJtp_html().getDocument().remove(app.getJtp_html().getCaretPosition(), t.length());
hek.insertHTML((HTMLDocument) app.getJtp_html().getDocument(), app.getJtp_html().getCaretPosition(), "<a href="'">").concat(t).concat("</a>"), 0, 0, HTML.Tag.A);
} catch(Exception ex) {
ex.printStackTrace();
}

5) 对齐方式, 左,中,右
final Style style = getJtp_html().addStyle("div", null);
void insertStyle(MutableAttributeSet tmpStyle) {
//StyleConstants.setAlignment(tmpStyle, StyleConstants.ALIGN_LEFT);
try { getJtp_html().setParagraphAttributes(tmpStyle, false); }
catch(Exception ex) {
// 一定要这句, 上面的try会现exception,使得界面没有更新,用这个方法就可以
getJtp_html().setText(getJtp_html().getText());
}
}

左: StyleConstants.setAlignment(app.style, StyleConstants.ALIGN_LEFT);
app.insertStyle(app.style);
右,中同理

6) 添加 UL 或 OL , LI 功能, 自动编号
Style s1 = app.getJtp_html().getStyle("ul");
if(s1 == null)
s1 = app.getJtp_html().addStyle("ul", null);
Style s2 = app.getJtp_html().addStyle("li", s1);
app.insertStyle(s2);

7) 去掉选取中的文字
String t = app.getJtp_html().getSelectedText();
try { app.getJtp_html().getDocument().remove(app.getJtp_html().getSelectionStart(), t.length()); }
catch(Exception ex) { ex.printStackTrace(); }

8) 设置字体
要用到一个 JcomboBox,这里不列出来, jcb为JComboBox
jcb.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent e) {
if(e.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
String s = e.getItem().toString(); //字体名称
if(s != null && s.trim().length() > 0) {
SimpleAttributeSet attrset = new SimpleAttributeSet();
StyleConstants.setFontFamily(attrset, s);
app.getJtp_html().setCharacterAttributes(attrset, false);
}
}
}
});

9) 设置字体大小
同理,使用
StyleConstants.setFontSize(attrset, s);

相关文章:
JTextPane的简单的html可视编辑器2-源码编辑
JTextPane的简单的html可视编辑器3-源码下载
Labels:
Trackback:   http://cwq.iou1314.com/_a156
微博最近更新
[2010-09-06 16:08]    明天有市领导来,后天又有省领导来,今天一个下午就拉了5条大横幅,累死我了,上周星期6,7办公室都要上班,这种生活什么时候可以摆脱?
[2010-09-04 04:43]    又是要加班的双休日,昨晚和领导去县城做资料做到11:30,确定这两天都要加班,刚准备回家,跟着领导接 电话说有村民想自杀不成,已带到卫生院,又跟领导回乡镇处理劝说一下。搞完到了1:30。回来凉都冲就睡 觉了。
本站内的任何文章,只代表个人意见或学习所用,如有版权声明,请尊重作者的劳动成果,在转载时请保留原始链接并注明出处。
Power by David's PhpCms, © 2007 - 2010 CWQ.IOU1314.COM All Rights Reserved.