用swing文本编辑器显示文档内容保持格式不变

xietianhua126 2012-10-17 02:42:10
我想把txt文档或者其他文档的内容在swing文本编辑器中显示,需要保持格式及字体、字体颜色那些不变,跪求各位大侠给予提示,急急!!!
...全文
341 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianjun_tianya 2014-08-10
  • 打赏
  • 举报
回复
我想把从一个JTable中获取到的数据用txt的文本格式在Swing中显示出来,而且要显示在中间显示一列要怎么做啊 ,查资料不好使 ,哪位大神指点一下啊 ,非常感谢啊 在线等候!急急急
baiwmg1 2013-08-15
  • 打赏
  • 举报
回复
我现在也遇到了这种问题,能不能把你的解决办法告诉我一下? 非常感谢
xietianhua126 2013-03-07
  • 打赏
  • 举报
回复
问题我已经解决了,改用html的方式做,html的格式全部是标签,方便保存等操作。多谢各位了。
xietianhua126 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
引用 5 楼 的回复:

那如果我是规定用txt文档的话,这样就把文档内容的字体保持不变吗?

如果是windows的NotePad的话,是只有一种字体吧,在JTextPane中显示,只要用这种字体不就好了吗?
[/Quote]
字体可以只用一种,但是有各个部分的颜色不同,或者有些粗体等。
dracularking 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

引用 8 楼 的回复:
引用 6 楼 的回复:

现在swing编辑器我已经做好了,但是把文档从数据库去出来后,想把内容显示在编辑器里面,要保持字体、字体颜色那些都不变就做不到。。

你说的存在数据库中的文档是不是字体样式复杂,各部分样式可能都有不同,不统一的那种?复杂就复杂在需要针对性设置吧。

是的,标题有粗体、字体大些,注释部分用红色,排版等都不能变动。
我想如果是把文本……
[/Quote]
这个关键是你存进去文本时字体样式信息是以何种方式保存的,像html富文本这种swing的JEditorPane就可以识别
其它的非统一方式恐怕很难,我没见过。

http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JEditorPane.html

xietianhua126 2012-10-18
  • 打赏
  • 举报
回复
为什么没人呢...在线等候呀!!!
xietianhua126 2012-10-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
引用 6 楼 的回复:

现在swing编辑器我已经做好了,但是把文档从数据库去出来后,想把内容显示在编辑器里面,要保持字体、字体颜色那些都不变就做不到。。

你说的存在数据库中的文档是不是字体样式复杂,各部分样式可能都有不同,不统一的那种?复杂就复杂在需要针对性设置吧。
[/Quote]
是的,标题有粗体、字体大些,注释部分用红色,排版等都不能变动。
我想如果是把文本编辑器的内容不通过文档,如果直接用大对象存进数据库,不知道这样从数据库读出来的时候能保存格式不?
dracularking 2012-10-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

现在swing编辑器我已经做好了,但是把文档从数据库去出来后,想把内容显示在编辑器里面,要保持字体、字体颜色那些都不变就做不到。。
[/Quote]
你说的存在数据库中的文档是不是字体样式复杂,各部分样式可能都有不同,不统一的那种?复杂就复杂在需要针对性设置吧。
dracularking 2012-10-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

那如果我是规定用txt文档的话,这样就把文档内容的字体保持不变吗?
[/Quote]
如果是windows的NotePad的话,是只有一种字体吧,在JTextPane中显示,只要用这种字体不就好了吗?
xietianhua126 2012-10-18
  • 打赏
  • 举报
回复
现在swing编辑器我已经做好了,但是把文档从数据库去出来后,想把内容显示在编辑器里面,要保持字体、字体颜色那些都不变就做不到。。
xietianhua126 2012-10-18
  • 打赏
  • 举报
回复
那如果我是规定用txt文档的话,这样就把文档内容的字体保持不变吗?
dracularking 2012-10-18
  • 打赏
  • 举报
回复
而各种文件的文本样式属性未必统一
dracularking 2012-10-18
  • 打赏
  • 举报
回复
不清楚能不能直接导入,可能有难度,因为这要求识别某种文件的文本样式,而各种文件的文本样式属性未必同意,但如果事先知道该文本文件样式属性的话,还是可以的:


private JTextPane createTextPane() {
String[] initString =
{ "This is an editable JTextPane, ", //regular
"another ", //italic
"styled ", //bold
"text ", //small
"component, ", //large
"which supports embedded components..." + newline,//regular
" " + newline, //button
"...and embedded icons..." + newline, //regular
" ", //icon
newline + "JTextPane is a subclass of JEditorPane that " +
"uses a StyledEditorKit and StyledDocument, and provides " +
"cover methods for interacting with those objects."
};

String[] initStyles =
{ "regular", "italic", "bold", "small", "large",
"regular", "button", "regular", "icon",
"regular"
};

JTextPane textPane = new JTextPane();
StyledDocument doc = textPane.getStyledDocument();
addStylesToDocument(doc);

try {
for (int i=0; i < initString.length; i++) {
doc.insertString(doc.getLength(), initString[i],
doc.getStyle(initStyles[i]));
}
} catch (BadLocationException ble) {
System.err.println("Couldn't insert initial text into text pane.");
}

return textPane;
}
oO临时工Oo 2012-10-18
  • 打赏
  • 举报
回复
javax.swing.JTextPane
可以支持超文本编辑

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧