Discussion:
[問題] 在SWING中顯示簡體中文
(时间太久无法回复)
殘雲奪月
2007-03-18 11:06:57 UTC
Permalink
我要在JTextArea中顯示簡體中文
不過顯示出來的都是亂碼
要應該怎麼做才能正確顯示?
以下是程式碼節錄
public class Main extends JFrame
{
public Main()
{
Locale.setDefault(Locale.SIMPLIFIED_CHINESE);//設定語系
initComponents();
}
private void initComponents()
{
output = new javax.swing.JTextArea();
output.setColumns(20);
output.setFont(new java.awt.Font("AR PMingti Light GB", 0, 18));
output.setRows(5);
//餘略
}
private void lookUpActionPerformed(java.awt.event.ActionEvent evt)
}
String word=input.getText();
String str=lookUpFunction(word);
output.setText(str);
}
public static String lookUpFunction(String word)
{
URL url=new URL("http://dict.cn/ws.php?utf8=true&q="+word);
BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream()));
String str="",temp;
while((temp=br.readLine())!=null)
str+=temp;
return str;
}
}
字型、語系我都有設定,不過我不確定字型是否設定錯XD
還需要設定啥?希望高手能給予指點
程式碼確定可以編譯,另外我是使用NetBeans IDE

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.138.169
痞子軍團團長
2007-03-18 11:58:13 UTC
Permalink
※ 引述《ya790206 (殘雲奪月)》之銘言:
: 我要在JTextArea中顯示簡體中文
: 不過顯示出來的都是亂碼
: 要應該怎麼做才能正確顯示?
: 以下是程式碼節錄
: private void lookUpActionPerformed(java.awt.event.ActionEvent evt)
: }
: String word=input.getText();
: String str=lookUpFunction(word);
: output.setText(str);
: }

我不確定你這個程式是拿來幹麼的...
因為你上頭都省略掉了,但是看到下面這個,似乎有點壞味道

不過,如果 dict.cn 的網頁是 GB2312 編碼
那你的 InputStreamReader 最好也賞他個編碼
不然.. 如果你顯示的是 lookUpFunction 回傳的東西
那,能正常寫是簡體字,或許還有點奇怪咧 XD


: public static String lookUpFunction(String word)
: {
: URL url=new URL("http://dict.cn/ws.php?utf8=true&q="+word);
: BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream()));
: String str="",temp;
: while((temp=br.readLine())!=null)
: str+=temp;
: return str;
: }
: }
: 字型、語系我都有設定,不過我不確定字型是否設定錯XD
: 還需要設定啥?希望高手能給予指點
: 程式碼確定可以編譯,另外我是使用NetBeans IDE

--
 侃侃長論鮮窒礙  首頁:http://www.psmonkey.idv.tw
 眾目睽睽無心顫  Blog:http://ps-think.blogspot.com
 煢居少聊常人事 
 殺頭容易告白難  歡迎參觀 Java 版(@ptt.cc)精華區 \囧/

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.192.66

Loading...