| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1590 人关注过本帖
标题:菜单为什么不显示出来?
只看楼主 加入收藏
w289592467
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-4-19
收藏
 问题点数:0 回复次数:12 
菜单为什么不显示出来?
package caidan;
import javax.swing.*;
import java.awt.*;
public class caidan {
static JFrame kuang=new JFrame("记事本");
static JTextArea wenben=new JTextArea();
static JMenuBar caidan=new JMenuBar();
static JMenu wenjian=new JMenu("文件");
static JMenu bianji=new JMenu("编辑");
static JMenu geshi=new JMenu("格式");
static JMenu chakan=new JMenu("查看");
caidan(){
String wen[]={"新建","打开","保存","另存为","退出"};
String bian[]={"撤消","剪切","复制","粘贴","删除"};
JMenuItem a[]=new JMenuItem[wen.length];
JMenuItem a1[]=new JMenuItem[bian.length];
for(int i=0;i<5;i++)
{
a[i]=new JMenuItem(wen[i]);
a1[i]=new JMenuItem(bian[i]);
wenjian.add(a[i]);
bianji.add(a1[i]);
}
caidan.add(wenjian);
caidan.add(bianji);
}
public static void main(String[]args)
{

kuang.setSize(600,600);
kuang.setLocation(300,300);
kuang.setBackground(Color.white);
kuang.add(wenben);
kuang.setJMenuBar(caidan);
kuang.setVisible(true);
}
}
我一开始是用AWT的。。现在要学SWING。用AWT那时好象这样就可以显示出来的?为什么现在不可以呢
搜索更多相关主题的帖子: 菜单 
2007-05-20 11:00
pity1115
Rank: 1
等 级:新手上路
威 望:2
帖 子:184
专家分:0
注 册:2006-9-15
收藏
得分:0 
感觉你的代码写得有点怪怪的。

菜单的初始化以及添加你都放到caidan类的构造方法里了,而你在main方法里根本就没创建类的对象,也就是没调用构造方法,所以菜单显示不出来。

2007-05-20 12:08
风月_无边
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:60
帖 子:2960
专家分:652
注 册:2007-1-19
收藏
得分:0 
确实不符合正常标准.还是找个例子看看吧!

我的网站 http://www.
2007-05-20 12:42
xuerong1220
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-4-2
收藏
得分:0 

说点自己的看法
第一你的类名Caidan最好第一个字母大写,变量声明最好用英文好些,很多公司是这样要求的
不要创建一个JFrame类,你只需要将Caidan这个类声明为JFrame的子类
下面是我稍作改动的代码,你试下
import javax.swing.*;
import java.awt.*;
public class Caidan extends JFrame {
// static JFrame kuang=new JFrame("记事本");
static JTextArea wenben=new JTextArea();
static JMenuBar caidan=new JMenuBar();
static JMenu wenjian=new JMenu("文件");
static JMenu bianji=new JMenu("编辑");
static JMenu geshi=new JMenu("格式");
static JMenu chakan=new JMenu("查看");

Caidan(){
super("记事本");
String wen[]={"新建","打开","保存","另存为","退出"};
String bian[]={"撤消","剪切","复制","粘贴","删除"};
JMenuItem a[]=new JMenuItem[wen.length];
JMenuItem a1[]=new JMenuItem[bian.length];
for(int i=0;i<5;i++)
{
a[i]=new JMenuItem(wen[i]);
a1[i]=new JMenuItem(bian[i]);
wenjian.add(a[i]);
bianji.add(a1[i]);
}
setJMenuBar(caidan);
caidan.add(wenjian);
caidan.add(bianji);
setSize(600,600);
}

public static void main(String[]args)
{

/* kuang.setSize(600,600);
kuang.setLocation(300,300);
kuang.setBackground(Color.white);
kuang.add(wenben);
// kuang.setJMenuBar(caidan);
kuang.setVisible(true);*/
Caidan application =new Caidan();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
application.setVisible(true);
}
}

2007-05-20 16:06
沉沦过迁
Rank: 2
来 自:广西百色
等 级:论坛游民
帖 子:2297
专家分:10
注 册:2007-5-8
收藏
得分:0 
看起来挺蒙的  很乱的感觉

也许我没有明天,但是我拥有现在
2007-05-20 17:51
w289592467
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-4-19
收藏
得分:0 
回复:(xuerong1220)说点自己的看法第一你的类名Cai...
package caidan;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Caidan implements ActionListener{
static JFrame kuang=new JFrame("记事本");
static JTextArea wenben=new JTextArea();
static JMenuBar caidan=new JMenuBar();
static JMenu wenjian=new JMenu("文件");
static JMenu bianji=new JMenu("编辑");
static JMenu geshi=new JMenu("格式");
static JMenu chakan=new JMenu("查看");
String wen[]={"新建","打开","保存","另存为","退出"};
String bian[]={"撤消","剪切","复制","粘贴","删除"};
JMenuItem a[]=new JMenuItem[wen.length];
JMenuItem a1[]=new JMenuItem[bian.length];
public Caidan(){
for(int i=0;i<5;i++)
{
a[i]=new JMenuItem(wen[i]);
a1[i]=new JMenuItem(bian[i]);
wenjian.add(a[i]);
bianji.add(a1[i]);
a[i].addActionListener(this);
a1[i].addActionListener(this);
}
caidan.add(wenjian);
caidan.add(bianji);
caidan.add(geshi);
caidan.add(chakan);
}
public void actionPerformed(ActionEvent e)
{

if(e.getActionCommand().equals("新建"))
{
wenben.setText("");
}else if(e.getActionCommand().equals("打开"))
{
FileDialog fd=new FileDialog(kuang,"打开",FileDialog.LOAD);
fd.show();
String strFile=fd.getDirectory()+fd.getFile();
if(strFile!=null)
{
try {
FileReader fr=new FileReader(strFile);
BufferedReader fis=new BufferedReader(fr);
String line=fis.readLine();
while(line!=null)
{
wenben.append(line);
wenben.setLineWrap(true);
line=fis.readLine();
}
fis.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}else if(e.getActionCommand().equals("保存"))
{
FileDialog ff=new FileDialog(kuang,"打开",FileDialog.SAVE);
ff.show();
try{
FileWriter Fr=new FileWriter(ff.getDirectory()+ff.getFile());
BufferedWriter FF=new BufferedWriter(Fr);
FF.write(wenben.getText());
FF.close();
}catch(Exception ex){
ex.printStackTrace();
}
}else if(e.getActionCommand().equals("另存为"))
{
FileDialog ff=new FileDialog(kuang,"打开",FileDialog.SAVE);
ff.show();
try{
FileWriter Fr=new FileWriter(ff.getDirectory()+ff.getFile());
BufferedWriter FF=new BufferedWriter(Fr);
FF.write(wenben.getText());
FF.close();
}catch(Exception ex){
ex.printStackTrace();
}
}else if(e.getActionCommand().equals("退出"))
{
System.exit(0);
}else if(e.getActionCommand().equals("撤消"))
{}else if(e.getActionCommand().equals("剪切"))
{
wenben.cut();
}else if(e.getActionCommand().equals("复制"))
{
wenben.copy();
}else if(e.getActionCommand().equals("粘贴"))
{
wenben.paste();
}else if(e.getActionCommand().equals("删除"))
{}

}
public static void main(String[]args)
{ Caidan n=new Caidan();
kuang.setSize(600,600);
kuang.setLocation(300,300);
kuang.setBackground(Color.white);
kuang.add(wenben);
kuang.setJMenuBar(caidan);
kuang.setVisible(true);
}
}

是这样吗??
2007-05-20 17:52
songwei20000
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2007-4-23
收藏
得分:0 
String wen[]={"新建","打开","保存","另存为","退出"};
String bian[]={"撤消","剪切","复制","粘贴","删除"};
JMenuItem a[]=new JMenuItem[wen.length];
JMenuItem a1[]=new JMenuItem[bian.length];
这些定义为成员变量,赋值可以在方法里
2007-05-20 18:15
w289592467
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-4-19
收藏
得分:0 

恩。知道了。。

2007-05-20 21:14
w289592467
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-4-19
收藏
得分:0 

想问问。。为什么我保存文件时。换不了行??

2007-05-20 23:08
songwei20000
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2007-4-23
收藏
得分:0 
linewrap();这个方法自动换行
2007-05-21 02:57
快速回复:菜单为什么不显示出来?
数据加载中...
 
   



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

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