用java制作一个简单的文本编译器,要能保存、打开,并对打开的文字进行字体、颜色、大小的设置~帮忙好吗

 我来答
whacjq
2013-06-17 · TA获得超过576个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:179万
展开全部
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;

public class wawu{
public static void main(String args[]){
EditWindowKeyEvent win=new EditWindowKeyEvent();
win.setVisible(true);
win.setTitle("Notebook");
}
}

class EditWindowKeyEvent extends JFrame implements ActionListener {
int s=14,f=Font.PLAIN;
JMenuBar menubar;
JMenu menu1,menu2,color,font,size;
JMenuItem open,save,red,blue,yellow,green,bold,italic,size16,size32,size48,size64;
JTextArea text;
JFileChooser fileDialog;
BufferedReader in;
FileReader fileReader;
BufferedWriter out;
FileWriter fileWriter;
EditWindowKeyEvent(){
init();
setBounds(150,160,280,290);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
void init(){
menubar=new JMenuBar();
menu1=new JMenu("File");
menu2=new JMenu("Format");
open=new JMenuItem("Open");
save=new JMenuItem("Save");
color=new JMenu("Color");
font=new JMenu("Font");
size=new JMenu("Size");
red=new JMenuItem("Red");
yellow=new JMenuItem("Yellow");
green=new JMenuItem("Green");
blue=new JMenuItem("Blue");
bold=new JMenuItem("Bold");
italic=new JMenuItem("Italic");
size16=new JMenuItem("Size16");
size32=new JMenuItem("Size32");
size48=new JMenuItem("Size48");
size64=new JMenuItem("Size64");
menubar.add(menu1);
menubar.add(menu2);
setJMenuBar(menubar);
fileDialog=new JFileChooser();
menu1.add(open);
menu1.add(save);
menu2.add(color);
menu2.add(font);
color.add(red);
color.add(yellow);
color.add(green);
color.add(blue);
font.add(bold);
font.add(italic);
font.add(size);
size.add(size16);
size.add(size32);
size.add(size48);
size.add(size64);
text=new JTextArea();
text.setEditable(true);
add(new JScrollPane(text),BorderLayout.CENTER);
open.addActionListener(this);
save.addActionListener(this);
color.addActionListener(this);
font.addActionListener(this);
red.addActionListener(this);
yellow.addActionListener(this);
green.addActionListener(this);
blue.addActionListener(this);
bold.addActionListener(this);
italic.addActionListener(this);
size16.addActionListener(this);
size32.addActionListener(this);
size48.addActionListener(this);
size64.addActionListener(this);
}
public void actionPerformed(ActionEvent e){

if(e.getSource()==open){
int state=fileDialog.showOpenDialog(this);
if(state==JFileChooser.APPROVE_OPTION){
text.setText(null);
try{
File dir=fileDialog.getCurrentDirectory();
String name=fileDialog.getSelectedFile().getName();
File file=new File(dir,name);
fileReader=new FileReader(file);
in=new BufferedReader(fileReader);
String s=null;
while((s=in.readLine())!=null){
text.append(s+"\n");
}
in.close();
fileReader.close();
}
catch(IOException exp){}
}
}
else if(e.getSource()==save){
int state=fileDialog.showSaveDialog(this);
if(state==JFileChooser.APPROVE_OPTION){
try{
File dir=fileDialog.getCurrentDirectory();
String name=fileDialog.getSelectedFile().getName();
File file=new File(dir,name);
fileWriter=new FileWriter(file);
out=new BufferedWriter(fileWriter);
out.write(text.getText());
out.close();
fileWriter.close();
}
catch(IOException exp){}
}
}
else if(e.getSource()==red){
text.setForeground(Color.red);
}
else if(e.getSource()==blue){
text.setForeground(Color.blue);
}
else if(e.getSource()==green){
text.setForeground(Color.green);
}
else if(e.getSource()==yellow){
text.setForeground(Color.yellow);
}
else if(e.getSource()==bold){
f=Font.BOLD;
}
else if(e.getSource()==italic){
f=Font.ITALIC;
}
else if(e.getSource()==size16){
s=16;
}
else if(e.getSource()==size32){
s=32;
}
else if(e.getSource()==size48){
s=48;
}
else if(e.getSource()==size64){
s=64;
}

Font F=new Font(null,f,s);
text.setFont(F);

}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式