A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 途中ms前进 中级黑马   /  2015-5-30 18:04  /  288 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


——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();
}
}

1 个回复

倒序浏览
:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马