import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class MyMenu
{
public static void main(String[] args)
{
MenuFrame form = new MenuFrame();
}
}
class MenuFrame extends Frame
{
private MenuBar menuBar;
private Menu fileMenu, editMenu;
private MenuItem openItem, saveItem, exitItem, copyItem, cutItem, pasteItem;
TextArea ta;
Image img;
MenuFrame()
{
super("菜单界面");
setLayout(new FlowLayout());
setFont(new Font("TimesRoman", Font.BOLD, 20));
setSize(800, 600);
Toolkit tk = getToolkit();
Dimension screenSize = tk.getScreenSize();
int x = (int)(screenSize.getWidth() - getWidth()) / 2;
int y = (int)(screenSize.getHeight() - getHeight()) / 2;
setLocation(x, y);
//img = tk.getImage("e:/java/f2.jpg");
//try{img = ImageIO.read(new File(fname));}catch (IOException ee) {}
menuBar = new MenuBar();
fileMenu = new Menu("文件");
openItem = new MenuItem("打开");
saveItem = new MenuItem("保存");
exitItem = new MenuItem("退出");
editMenu = new Menu("编辑");
copyItem = new MenuItem("拷贝");
cutItem = new MenuItem("剪切");
pasteItem = new MenuItem("粘贴");
//事件监听器
openItem.addActionListener(new ML());
saveItem.addActionListener(new ML());
exitItem.addActionListener(new ML());
copyItem.addActionListener(new ML());
cutItem.addActionListener(new ML());
pasteItem.addActionListener(new ML());
//加文件菜单
menuBar.add(fileMenu);
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
//加编辑菜单
menuBar.add(editMenu);
editMenu.add(copyItem);
editMenu.add(cutItem);
editMenu.add(pasteItem);
//加菜单条
setMenuBar(menuBar);
ta = new TextArea("显示菜单命令", 16, 66, TextArea.SCROLLBARS_BOTH);
ta.setLocation(10, 200);
add(ta);
setVisible(true);
addWindowListener(new WL());
}
/*
public void paint(Graphics g)
{
if (img != null) g.drawImage(img, 0, 0, this);
}
*/
Frame getFrameIns()
{
return this;
}
void fileRead(String fname)
{
try
{
String s;
FileReader freader = new FileReader( fname );
BufferedReader in = new BufferedReader(freader);//每次读取一行
while ((s = in.readLine()) != null)
ta.append('\n' + s);
in.close();
freader.close();
}
catch (IOException e2)
{
System.out.println("不能打开文件!");
}
}
public void fileWrite(String fname)
{
try
{
String s;
FileWriter fwriter = new FileWriter( fname );
BufferedWriter wr=new BufferedWriter(fwriter);
s = ta.getText();
wr.write(s, 0, s.length());
wr.close();
fwriter.close();
}catch(IOException e3){}
}
final class ML implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
Frame frame = getFrameIns();
if (s.compareTo("打开") == 0)
{
final FileDialog f = new FileDialog( frame, "Open", FileDialog.LOAD);
f.setVisible(true);
// 打开文件对话框适配器
String fname = f.getDirectory() + f.getFile() ;
// ta.setText(fname);
if (fname != null)
fileRead(fname);
}
else if (s.compareTo("保存") == 0)
{
final FileDialog f = new FileDialog( frame , "Save", FileDialog.SAVE);
f.setVisible(true);
String fname = f.getDirectory() + f.getFile() ;
//ta.setText(fname);
if(fname != null)
fileWrite(fname);
}
else if (s.compareTo("退出") == 0)
{
System.exit(0);
}
}
}
}
// To close the application:
class WL extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
文件的打开、保存
最新推荐文章于 2022-09-20 14:55:01 发布