| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 493 人关注过本帖
标题:菜单为何不起作用
只看楼主 加入收藏
syuanq
Rank: 2
等 级:新手上路
威 望:3
帖 子:297
专家分:0
注 册:2006-12-11
结帖率:0
收藏
 问题点数:0 回复次数:3 
菜单为何不起作用
class InputArea extends Panel implements ActionListener
{
File f=null;
RandomAccessFile out;
Box baseBox,boxV1,boxV2;
TextField name,email,phone;
Button button;
InputArea(File f)
{
setBackground(Color.cyan);
this.f=f;
name=new TextField(12);
email=new TextField(12);
phone=new TextField(12);
button=new Button("录入");
button.addActionListener(this);
boxV1=Box.createVerticalBox();
boxV1.add(new Label("输入姓名"));
boxV1.add(Box.createVerticalStrut(8));
boxV1.add(new Label("输入email"));
boxV1.add(Box.createVerticalStrut(8));
boxV1.add(new Label("输入电话"));
boxV1.add(Box.createVerticalStrut(8));
boxV1.add(new Label("单击录入"));
boxV2=Box.createVerticalBox();
boxV2.add(name);
boxV2.add(Box.createVerticalStrut(8));
boxV2.add(email);
boxV2.add(Box.createVerticalStrut(8));
boxV2.add(phone);
boxV2.add(Box.createVerticalStrut(8));
boxV2.add(button);
baseBox=Box.createHorizontalBox();
baseBox.add(boxV1);
baseBox.add(Box.createHorizontalStrut(10));
baseBox.add(boxV2);
add(baseBox);
}
public void actionPerformed(ActionEvent e)
{
try
{
RandomAccessFile out=new RandomAccessFile(f,"rw");
if(f.exists())
{
long length=f.length();
out.seek(length);
}
out.writeUTF("姓名:"+name.getText());
out.writeUTF("email:"+email.getText());
out.writeUTF("电话:"+phone.getText());
out.close();
}
catch(IOException ee){
}
}
}
class CommFrame extends Frame implements ActionListener
{
File file=null;
MenuBar bar;
Menu fileMenu;
MenuItem 录入,显示;
TextArea show;
InputArea inputMessage;
CardLayout card=null;
Panel pCenter;
CommFrame()
{
file=new File("通讯录.txt");
录入=new MenuItem("录入");
显示=new MenuItem("显示");
bar=new MenuBar();
fileMenu=new Menu("菜单选项");
fileMenu.add("录入");
fileMenu.add("显示");
bar.add(fileMenu);
setMenuBar(bar);
录入.addActionListener(this);
显示.addActionListener(this);
inputMessage=new InputArea(file);
show=new TextArea(12,20);
card=new CardLayout();
pCenter=new Panel();
pCenter.setLayout(card);
pCenter.add("录入",inputMessage);
pCenter.add("显示",show);
add(pCenter,BorderLayout.CENTER);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setVisible(true);
setBounds(100,50,420,380);
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==录入)
{
card.show(pCenter,"录入");
}
if(e.getSource()==显示)
{
int number=1;
show.setText(null);
card.show(pCenter,"显示");
try
{
RandomAccessFile in=new RandomAccessFile(file,"r");
String 姓名=null;
while((姓名=in.readUTF())!=null)
{
show.append("\n"+number+" "+姓名);
show.append(in.readUTF());
show.append(in.readUTF());
show.append("\n---------------------");
number++;
}
in.close();
}
catch(Exception ee){
}
}
}
}
class B
{
public static void main(String args[])
{
new CommFrame();
}
}

大家帮忙看看我的菜单为什么没起到作用?按了菜单却不会转换
搜索更多相关主题的帖子: 菜单 
2007-11-06 23:27
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
用中文做变量还是尽量不用的好

还有你的命名实在是不好,B类是什么意思,取一个类的名字最好是要有意义的,千万不要取一些什么,A,B,C这种类,过了一段时间以后,你也不知道这个类到底是干什么的

fileMenu.add("录入");
fileMenu.add("显示");
改为
fileMenu.add(录入);
fileMenu.add(显示);

你要加的是变量名,而不是菜单的名字,

可惜不是你,陪我到最后
2007-11-07 09:18
syuanq
Rank: 2
等 级:新手上路
威 望:3
帖 子:297
专家分:0
注 册:2006-12-11
收藏
得分:0 
谢谢指点了,不过这个只是用来测试用的,所以就随便命名了,I/O流中 RandomAccessFile,数据流,对象流,数组流以及FileInputStream应该怎样区别?什么时候该用哪个有明显差别吗?

[url]www.[/url]欢迎大家的光临,一起交流学习
2007-11-07 20:34
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

各自有各自适用的地方


可惜不是你,陪我到最后
2007-11-09 09:28
快速回复:菜单为何不起作用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022656 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved