import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.io.*;
import javax.swing.text.*;
public class P225_2_Notpad {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
new P225_2("Notepad");
}
}
class P225_2 extends JFrame implements ActionListener{
Menu menu1=new Menu("File"),
menu2=new Menu("Setting"),
menu3=new Menu("About");
Choice cho_color=new Choice();
JTextArea text1=new JTextArea(40,12);
MenuBar menubar1=new MenuBar();
Frame f=new Frame("Font set");
boolean f_show=false;
MenuItem item1_1=new MenuItem("Open"),
item1_2=new MenuItem("Save"),
item1_3=new MenuItem("Save As"),
item1_4=new MenuItem("Exit"),
item2_color=new MenuItem("back_color"),
item2_font=new MenuItem("font_color"),
item2_size=new MenuItem("Font"),
item3_about=new MenuItem("About");
FileDialog fd_as=new FileDialog(this,"Save as",FileDialog.SAVE);
FileDialog fd_load=new FileDialog(this,"Open File",FileDialog.LOAD);
//actionPerformed()的实现
public void actionPerformed(ActionEvent e){
File file_alive=null;
if(e.getSource()==item1_1){
try{
if(text1.getText()!=""){
int n=JOptionPane.showConfirmDialog(this,"文件如果没有保存,数据将会丢失,继续吗","Continue?",JOptionPane.YES_NO_OPTION);
if(n==JOptionPane.YES_OPTION){
fd_load.setVisible(true);
file_alive=new File(fd_load.getFile());
RandomAccessFile in=new RandomAccessFile(file_alive,"rw");
String str_in=null;
text1.setText("");
while((str_in=in.readUTF())!=null){
text1.append(in.readUTF());
}
}}
else{}
}
catch(IOException IOE_read){
}
}
if(e.getSource()==item1_2){
if(file_alive!=null){
try{
RandomAccessFile out=new RandomAccessFile(file_alive,"rw");
out.writeUTF(text1.getText());
}
catch(IOException IOE_out){}
}
}
if(e.getSource()==item1_3){
try{
fd_as.setVisible(true);
RandomAccessFile raf_as=new RandomAccessFile(new File(fd_as.getFile()),"rw");
raf_as.writeUTF(text1.getText());
}
catch(IOException IOE_as){}
}
if(e.getSource()==item1_4){
System.exit(0);
}
if(e.getSource()==item2_color){
text1.setBackground(JColorChooser.showDialog(this, "check a kind of Color",this.getBackground()));
if(e.getSource()==item2_font){
text1.setForeground(JColorChooser.showDialog(this, "check a kind of Color",this.getBackground()));
}
if(e.getSource()==item2_size){
if(f_show==false){
ShowFontPanel();
f_show=true;
}
else if(f_show==true){
f.setVisible(false);
f_show=true;
};
}
if(e.getSource()==item3_about){
System.out.println("Althor:Allchi");
}
}
}
//showFontPanel()
public void ShowFontPanel(){
GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
String fontName[]=ge.getAvailableFontFamilyNames();
for(int i=0;i<fontName.length;i++){
cho_color.add(fontName[i]);
}
cho_color.setBounds(5,5,444,444);
f.setLayout(null);
f.add(cho_color);
f.setBounds(222,222,444,444);
f.setVisible(true);
validate();
}
//p225构造方法
P225_2(String str_name){
super(str_name);
setLayout(null);
setBounds(100,100,333,333);
f.setVisible(false);
menu1.add(item1_1);item1_1.addActionListener(this);
menu1.add(item1_2);item1_2.addActionListener(this);
menu1.add(item1_3);item1_3.addActionListener(this);
menu1.add(item1_4);item1_4.addActionListener(this);
menubar1.add(menu1);
menu2.add(item2_color);item2_color.addActionListener(this);
menu2.add(item2_font);item2_font.addActionListener(this);
menu2.add(item2_size);item2_size.addActionListener(this);
menubar1.add(menu2);
menu3.add(item3_about);item3_about.addActionListener(this);
menubar1.add(menu3);
text1.setWrapStyleWord(false);//设置换行方式
text1.setBounds(5,5,this.WIDTH,this.HEIGHT);
Container con=getContentPane();
con.setLayout(null);
con.setBounds(4, 4, this.WIDTH, this.HEIGHT);
con.add(text1);
//add(con);
setMenuBar(menubar1);
//add(text1);
//text1.setVisible(true);
setVisible(true);
validate();
}
}
java程序设计基础教程第二版:P225_2_Notpad
最新推荐文章于 2021-02-20 22:35:59 发布