简体中文的系统中正常显示繁体中文

kofight 2004-06-08 10:11:56
怎么能让java的application程序在简体中文的系统中正常显示繁体中文,或繁体系统正常显示简体, 就象word, ultraEdit一样, 可以用文本文件本身的编码格式显示文本.
...全文
380 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
kofight 2004-06-29
  • 打赏
  • 举报
回复
但是IE就不需要什么系统字库
xiaoyusong 2004-06-14
  • 打赏
  • 举报
回复
这是当然了,如果操作系统都没有的字符集,在他下面运行的程序中当然没办法正常显示了!要加装其他语言的字符集,操作系统都可以补装的
kofight 2004-06-14
  • 打赏
  • 举报
回复
问题还是没解决,

请xiaoyusong(加肥猫) 进入英文或其他非中文语言系统,运行你的程序看看.

其实我已经知道是不可能实现了. 原因如下:

java显示任何东西最后都要调用系统的字体库来显示,
操作系统不支持中文系统的话, 你看到的中文只能是乱码.
java本身是没法调用自己指定的或自己的字体库来显示文本.

不知我说的对否, 还请指教
xiaoyusong 2004-06-11
  • 打赏
  • 举报
回复
编码的事情是关于字符集的问题。java对这一点支持得很好,指定繁体的字符集比如big5,还有数据源从哪里来?流的方式?给定一个字符集参数应该就可以了

java的html浏览器demo.

import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.text.html.HTMLFrameHyperlinkEvent;
import javax.swing.text.html.HTMLDocument;
import javax.swing.event.HyperlinkListener;
import javax.swing.event.HyperlinkEvent;
import java.net.URL;
import java.net.MalformedURLException;
import java.io.IOException;
import java.awt.*;

/**
* @author xiaoyusong
* User: Administrator
* Date: 2004-5-27
* Time: 11:50:27
*
*/
public class Explore {
public Explore() {
init();
}


protected void init() {
gbc.fill = GridBagConstraints.HORIZONTAL;
//gbc.weightx = 10;
//gbc.weighty = 10;
gbc.ipadx = 5;
gbc.ipady = 5;
rootPanel.setLayout(gbl);

setTitle("hello world");

jtp.setContentType("text/html;charset=gb2312");
jtp.setText("导入中,请稍等");
jtp.addHyperlinkListener(new Hyperactive());
//JScrollPane sp = new JScrollPane();
//jtp.setSize(sp.getSize().width, sp.getSize().height);
//sp.add(jtp);
addComponent(jtp,0,0,1,1);
}

/**
* 添加组件到顶部的面板中
* @param c 要添加的swing组件
* @param x GridBagLayout的x轴坐标
* @param y GridBagLayout的y轴坐标
* @param w 组件将会占用的宽度
* @param h 组件将会占用的高度
*/
public void addComponent(Component c, int x, int y, int w, int h)
{
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = w;
gbc.gridheight = h;
rootPanel.add(c, gbc);
rootPanel.revalidate();
}

/**
* 设置Root面板(JPanel)的标题
* @param title
*/
public void setTitle(String title) {
Border border = BorderFactory.createTitledBorder(title);
rootPanel.setBorder(border);
}

public void setEditable(boolean editable) {
jtp.setEditable(editable);
}

public void setPage(String url) throws MalformedURLException, IOException {
jtp.setPage(new URL(url));
}

public JPanel getRootPanel(){
return rootPanel;
}

public static void main(String[] args) throws Exception {

Explore el = new Explore();
el.setPage("http://news.sina.com.cn/c/2004-05-27/10033347469.shtml");
el.setEditable(false);

JFrame frame = new JFrame();
frame.getContentPane().add(el.getRootPanel());
frame.show();
}

class Hyperactive implements HyperlinkListener {

public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
JEditorPane pane = (JEditorPane) e.getSource();
if (e instanceof HTMLFrameHyperlinkEvent) {
HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent) e;
HTMLDocument doc = (HTMLDocument) pane.getDocument();
doc.processHTMLFrameHyperlinkEvent(evt);
} else {
try {
pane.setPage(e.getURL());
} catch (Throwable t) {
t.printStackTrace();
}
}
}
}
}

private JEditorPane jtp = new JEditorPane(); //JTextPane
private JPanel rootPanel = new JPanel();
private GridBagLayout gbl = new GridBagLayout();
private GridBagConstraints gbc = new GridBagConstraints();

}
kofight 2004-06-11
  • 打赏
  • 举报
回复
还有人知道吗??????
kofight 2004-06-10
  • 打赏
  • 举报
回复
编码没问题, 说的是显示出来的效果.
smile2002 2004-06-10
  • 打赏
  • 举报
回复
用GBK编码,可以同时使用箭体和繁体
kofight 2004-06-10
  • 打赏
  • 举报
回复
怎么可以, 说个方法或写个例子来看.
qlampskyface 2004-06-08
  • 打赏
  • 举报
回复
肯定可以!
haitangli3 2004-06-08
  • 打赏
  • 举报
回复
不知道行不行我没试过
haitangli3 2004-06-08
  • 打赏
  • 举报
回复
那你就用JEditorPane
kofight 2004-06-08
  • 打赏
  • 举报
回复
看来好象真的不行,
我下了个JEdit,也不行.

有没有可以用HTML的浏览方式实现

先放两天看有没高手出现.
haitangli3 2004-06-08
  • 打赏
  • 举报
回复
openoffice 和 staroffice是C写的
kofight 2004-06-08
  • 打赏
  • 举报
回复
那意思是如果用java就不可能做出ultraEdit或word,
但是star office据说是java做的, 应该可以处理这种事情.
虽然我在star office下看不到几个jar文件, 而且删掉这几个jar文件,star office 也运行的很好.
haitangli3 2004-06-08
  • 打赏
  • 举报
回复
我觉得是不可能的,我一直做台湾项目,总是在简繁系统间切换!
Arias 2004-06-08
  • 打赏
  • 举报
回复
看可不可以通过设置一些参数或者直接进行一些字符编码的转换来实现!

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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