| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1723 人关注过本帖
标题:大神们好,可以帮我解答一下问题好吗
只看楼主 加入收藏
a2285346
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-11-12
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
大神们好,可以帮我解答一下问题好吗
我是很新的新人。。。就是真的代码要看很久,连基础都不怎么会的那种。
这个是我的源代码。这个可以显示出我的菜单。
import java.awt.*;
import java.awt.color.*;
import java.awt.event.*;
import javax.swing.*;
public class xxx extends JFrame{
public xxx(String sTitle) {
super(sTitle);
//获取窗口面板;
setSize(640,480);
Container c=getContentPane();
c.setBackground(Color.RED); //窗口背景红色
c.setLayout(null);//取消布局器
JPanel pan=new JPanel();
pan.setBackground(Color.YELLOW); // pan背景黄色
pan.setSize(200,100);
centerWindow();
add(pan);//用add方法把面板pan添加到窗口中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Toolkit tk=getToolkit(); //得到一个Toolkit对象
Image icon=tk.getImage("88888.png"); //获取图标
setIconImage(icon);}

public void centerWindow(){
Toolkit tk=getToolkit();
Dimension dm=tk.getScreenSize(); //获得显示屏桌面窗口的大小
setLocation((int)(dm.getWidth()-getWidth())/2,(int)(dm.getHeight()-getHeight())/2); //让窗口居中显示
}

static JMenuBar  mb=new JMenuBar();//菜单栏
static FgMenu     mFile=new FgMenu("文件(F)",KeyEvent.VK_F),
mChange=new FgMenu("修改(A)",KeyEvent.VK_A);//"文件"菜单
static JMenuItem miNew=new JMenuItem("新建(N)",KeyEvent.VK_N),
       miOpen=new JMenuItem("打开(O)...",KeyEvent.VK_O),
       misaveas=new JMenuItem("另存为(B)",KeyEvent.VK_B),
       miSave=new JMenuItem("保存(S)",KeyEvent.VK_S),
       miFont=new JMenuItem("字体与颜色(F)...", KeyEvent.VK_F),
       miQuit=new JMenuItem("退出(Q)",KeyEvent.VK_Q),
       miCut=new JMenuItem("剪切(X)",KeyEvent.VK_X),
                       miPaste=new JMenuItem("黏贴(V)",KeyEvent.VK_V),
       miCopy=new JMenuItem("复制(C)",KeyEvent.VK_C);


public static void main(String args[]) {
    JFrame frm = new xxx("我是黄琳,欢迎使用我开发的软件");

//②:添加组件。本例中直接添加菜单
frm.setJMenuBar(mb);
mFile.add(miNew);//新建
mFile.add(miOpen);//打开
mFile.addSeparator();
mFile.add(miSave);//保存
mFile.add(misaveas);
mFile.add(miQuit);//退出   
mChange.add(miCopy);
mChange.add(miCut);
mChange.addSeparator();//分割条
mChange.add(miPaste);
mChange.add(miFont);//字体与颜色菜单
mb.add(mFile);
mb.add(mChange);//将"文件"菜单添加到菜单栏上 //③:设置窗口位置和大小
frm.setVisible(true);
 //设置关闭按钮操作
//④:显示窗口
}
}
class FgMenu extends JMenu{
public FgMenu(String label){
super(label);
}
public FgMenu(String label,int nAccelerator){
super(label);
setMnemonic(nAccelerator);
}
}



可是当我按照书,想把menu那部分放在类中显得更简洁的时候。有以下这份代码
import java.awt.*;
import java.awt.color.*;
import java.awt.event.*;
import javax.swing.*;
public class yyy extends JFrame{
   
JMenuBar   mb=new JMenuBar();//菜单栏
FgMenu     mFile=new FgMenu("文件(F)",KeyEvent.VK_F),
           mChange=new FgMenu("修改(A)",KeyEvent.VK_A);//"文件"菜单
JMenuItem  miNew=new JMenuItem("新建(N)",KeyEvent.VK_N),
           miOpen=new JMenuItem("打开(O)...",KeyEvent.VK_O),
           misaveas=new JMenuItem("另存为(B)",KeyEvent.VK_B),
           miSave=new JMenuItem("保存(S)",KeyEvent.VK_S),
           miFont=new JMenuItem("字体与颜色(F)...", KeyEvent.VK_F),
           miQuit=new JMenuItem("退出(Q)",KeyEvent.VK_Q),
           miCut=new JMenuItem("剪切(X)",KeyEvent.VK_X),
           miPaste=new JMenuItem("黏贴(V)",KeyEvent.VK_V),
           miCopy=new JMenuItem("复制(C)",KeyEvent.VK_C);   

public yyy(String sTitle) {
super(sTitle);
addMenus();

setSize(640,480);

Container c=getContentPane();
c.setBackground(Color.RED); //窗口背景红色
c.setLayout(null);//取消布局器
JPanel pan=new JPanel();
pan.setBackground(Color.YELLOW); // pan背景黄色
pan.setSize(200,100);
add(pan);
centerWindow();
//用add方法把面板pan添加到窗口中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Toolkit tk=getToolkit(); //得到一个Toolkit对象
Image icon=tk.getImage("88888.png"); //获取图标
setIconImage(icon);}

private void addMenus(){
    setJMenuBar(mb);
   
    mFile.add(miNew);//新建
    mFile.add(miOpen);//打开
    mFile.addSeparator();
    mFile.add(miSave);//保存
    mFile.add(misaveas);
    mFile.add(miQuit);//退出   
    mChange.add(miCopy);
    mChange.add(miCut);
    mChange.addSeparator();//分割条
    mChange.add(miPaste);
    mChange.add(miFont);//字体与颜色菜单
    mb.add(mFile);
    mb.add(mChange);
}

public void centerWindow(){
Toolkit tk=getToolkit();
Dimension dm=tk.getScreenSize(); //获得显示屏桌面窗口的大小
setLocation((int)(dm.getWidth()-getWidth())/2,(int)(dm.getHeight()-getHeight())/2); //让窗口居中显示
}




public static void main(String args[]) {
    xxx frm = new xxx("我是黄琳,欢迎使用我开发的软件");
frm.setVisible(true);
}
class FgMenu extends JMenu{
public FgMenu(String label){
super(label);
}
public FgMenu(String label,int nAccelerator){
super(label);
setMnemonic(nAccelerator);
}
}
}


这个代码不知道为什么显示不了菜单? 有人可以告诉我一下为什么吗。。。我按照书里做的啊
搜索更多相关主题的帖子: 源代码 public import super null 
2016-11-12 18:59
jinjoxie
Rank: 2
等 级:论坛游民
威 望:1
帖 子:19
专家分:61
注 册:2015-6-3
收藏
得分:7 
public static void main(String args[]) {
    xxx frm = new xxx("我是黄琳,欢迎使用我开发的软件"); //后面的应该是: yyy frm = new yyy("我是黄琳,欢迎使用我开发的软件");
frm.setVisible(true);
}
2016-11-14 18:03
kaosaier
Rank: 5Rank: 5
等 级:职业侠客
威 望:7
帖 子:124
专家分:303
注 册:2016-7-23
收藏
得分:7 
回复 楼主 a2285346
啥问题?

minecraft,我的最爱!
2016-11-14 20:11
shengdong521
Rank: 1
等 级:新手上路
帖 子:4
专家分:7
注 册:2016-3-5
收藏
得分:7 
这个是Java的GUI吗? 如果是的话,强烈建议你不要学这个,真的没用的,没有人会让你用GUI写客户端的,写的太难看。
2016-11-14 23:38
快速回复:大神们好,可以帮我解答一下问题好吗
数据加载中...
 
   



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

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