java.awt中文乱码_Java AWT窗体中文乱码问题解决-百度经验

JavaAWT中文乱码问题:

代码如下:

package com.awt.frame;

import java.awt.Color;

import java.awt.FileDialog;

import java.awt.Frame;

import java.awt.Menu;

import java.awt.MenuBar;

import java.awt.MenuItem;

import java.awt.TextArea;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

/**

*

* @author Administrator

*文本编译器

*/

public class TextEditor {

private Frame f;

private MenuBar mb;

private Menu mFile,mEdit,mHelp,mTools;

private MenuItem mOpen,mSave,mExit,mCopy,mPaste,mReplace,mWeb,mPaint,mDefine;

private FileDialog fd;

private String fileName;

private char ch;

private String s="";

private TextArea ta;

private MenuListener menuListener;

private FileOutputStream fos;

private OutputStreamWriter osw;

private FileInputStream fis;

private InputStreamReader isr;

private BufferedReader br;

public TextEditor() {

f=new Frame("简单文本编译器");

mb=new MenuBar();

mFile=new Menu("文件");

mEdit=new Menu("编辑");

mHelp=new Menu("帮助");

mTools=new Menu("工具栏");

mOpen=new MenuItem("打开");

mSave=new MenuItem("保存");

mExit=new MenuItem("退出");

mCopy=new MenuItem("复制");

mPaste=new MenuItem("粘贴");

mReplace=new MenuItem("替换");

mWeb=new MenuItem("Web工具");

mPaint=new MenuItem("绘图");

mDefine=new MenuItem("自定义");

f.setMenuBar(mb);

mb.add(mFile);

mb.add(mEdit);

mb.setHelpMenu(mHelp);

mFile.add(mOpen);

mFile.add(mSave);

mFile.addSeparator();

mFile.add(mExit);

mEdit.add(mCopy);

mEdit.add(mPaste);

mEdit.add(mReplace);

mEdit.addSeparator();

mEdit.add(mTools);

mTools.add(mWeb);

mTools.add(mPaint);

mTools.add(mDefine);

ta=new TextArea("",10,10);

f.add("Center",ta);

ta.setForeground(Color.black);//设置文本颜色

ta.addKeyListener(new KeyAdapter() {

public void keyTyped(KeyEvent ev) {

s+=ev.getKeyChar();

}

});

f.setSize(400,200);

f.setVisible(true);

menuListener=new MenuListener();

mExit.addActionListener(menuListener);

mOpen.addActionListener(menuListener);

mSave.addActionListener(menuListener);

f.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(1);

}

});

}

public static void main(String[] args) {

TextEditor te=new TextEditor();

}

class MenuListener implements ActionListener{

public void actionPerformed(ActionEvent ev) {

MenuItem i=(MenuItem)ev.getSource();

String label=i.getLabel();

if(label=="退出") System.exit(1);

else if(label=="保存") saveFile();

}

}

void saveFile() {

fd=new FileDialog(f,"请输入要保存的文件名",FileDialog.SAVE);

fd.setVisible(true);

fileName=fd.getFile();

try {

fos=new FileOutputStream(fileName);

osw=new OutputStreamWriter(fos);

System.out.println(s);

osw.write(s);

osw.flush();

osw.close();

fos.close();

}catch(Exception e) {}

}

}

运行之后,可以看到中文乱码,如图所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值