——MenuBar菜单栏或者菜单条为聊菜单栏与Frame对象相关联可以调用该框架的setMenmuBar方法
黑马程序员——java基础——GUI(图形用户界面) import java.awt.*;
import java.awt.event.*;
class MenuDemo
{private Frame f;
private Menu m,m1;
private MenuBar mb;
private MenuItem mi,mis;
//构造
MenuDemo()
{
init();
}
public void init()
{//创建Frame框架
f=new Frame("My Window");
//对Frame进行基本设置
f.setBounds(300,200,600,500);
f.setLayout(new FlowLayout());
//创建菜单
m=new Menu("文件");
//创建菜单栏
mb=new MenuBar();
//创建菜单项
mi=new MenuItem("退出");
mis=new MenuItem("子条目");
m1=new Menu("子菜单");
//添加组件
m.add(m1);
m1.add(mis);
m.add(mis);
//让菜单栏与Frame相关联
f.setMenuBar(mb);
//调用事件
MyEvent();
//显示窗体
f.setVisible(true);
}//提供事件方法
public void MyEvent()
{f.addWindowListener(new WindowAdapter(){
//复写监听器中关闭的方法
public void WindowClosing(WindowEvent e)
{
System.exit(0);
}
});
练习2————
package mymenu;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class MenuDemo
{private Frame f;
private MenuBar mb;
private Menu m,m1,m11;
private MenuItem mi,mii,miii;
private TextArea ta;
private FileDialog open,save;
private File file;
MenuDemo()
{
init();
}
public void init()//对Frame基本设置
{f=new Frame("My Window");
f.setBounds(300,200,700,600);
//创建菜单栏
mb=new MenuBar();
//创建菜单
m=new Menu("文件");
//创建菜单项
mi=new MenuItem("退出");
m1=new Menu("保存");
mii=new MenuItem("子条目");
m11=new Menu("子菜单");
miii=new MenuItem("打开");
open=new FileDialog(f,"我要打开",FileDialog.LOAD);
save=new FileDialog(f,"我要保存",FileDialog.SAVE);
m.add(miii);
//创建文本区域
ta=new TextArea();
//添加组件
f.add(ta);
m11.add(mii);
m.add(m11);
m.add(m1);
m.add(mi);
mb.add(m);
//让菜单栏与Frame相关联
f.setMenuBar(mb);
MyEvent();
//显示窗体
f.setVisible(true);
}
public void MyEvent()
//添加监听器
{m1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{save.setVisible(true);
//定义判断
if(file==null)
{String DirPath =save.getDirectory();
String FileName=save.getFile();
//定义判断语句
if(DirPath==null||FileName==null)
return;
file=new File(DirPath,FileName);
}
try
{
BufferedWriter bufw=new BufferedWriter(new FileWriter(file));
String text=ta.getText();
bufw.write(text);
bufw.close();
}
catch (IOException ex)
{throw new RuntimeException("写入失败");
}
}
});
miii.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
open.setVisible(true);
//获取对话框目录
String DirPath=open.getDirectory();
//获取对话框文件
String filename=ope//定义判断语句n.getFile();
if(DirPath==null || filename==null)
return;
//有效文件清空
ta.setText("");
file=new File(DirPath,filename);
try
{//创建读取流与文件相关联
BufferedReader bufr=new BufferedReader(new FileReader(file));
String line=null;
while((line=bufr.readLine())!=null)
{
ta.append(line+"\r\n");
}
bufr.close();
}
catch (IOException ex)
{throw new RuntimeException("读取失败");
}
}
});
//建立监听器
f.addWindowListener(new WindowAdapter(){
//复写WindowAdapter关闭方法
public void WindowClosing(WindowEvent e)
{
System.exit(0);
}
});//创建活动按钮监听
mi.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
new MenuDemo();
}
}
|
|