JAVA输出窗口为什么没有菜单栏

publicclassJs{publicstaticvoidmain(Stringargs[]){Windowwin=newWindow("窗口1",60,60,200,... public class Js{
public static void main(String args[]){
Window win = new Window("窗口1",60,60,200,190);

}
}
import javax.swing.*;
import java.awt.*;
import static javax.swing.JFrame.*;
public class Window extends JFrame{
JMenuBar menubar;
JMenu menu;
JMenuItem item;
JTextField text;
public Window(String s,int x,int y,int w,int h){
init(s);
setLocation(x,y);
setSize(w,h);
setVisible(true);
}
void init(String s){
setTitle(s);
menubar = new JMenuBar();
menu = new JMenu("菜单");
item = new JMenuItem("菜单项",new ImageIcon("a.gif"));
menu.add(item);
text = new JTextField("跳梁小丑",12);
text.setHorizontalAlignment(JTextField.CENTER);
add(text);
}
}
展开
 我来答
紫薇参星
科技发烧友

2013-11-03 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5984
采纳率:92%
帮助的人:3527万
展开全部
你的JMenu和JMenuBar没有加入到JFrame中.在init(String s)函数中最后面加两句menubar.add(menu); setJMenuBar(menubar);就行了.
完整的程序如下:(改动的地方见注释)
//Js.java文件
public class Js{
public static void main(String args[]){
Window win = new Window("窗口1",60,60,200,190);
}
}
//Window.java文件
import javax.swing.*;
import javax.swing.JFrame;
public class Window extends JFrame{
JMenuBar menubar;
JMenu menu;
JMenuItem item;
JTextField text;
public Window(String s,int x,int y,int w,int h){
init(s);
setLocation(x,y);
setSize(w,h);
setVisible(true);
}
void init(String s){
setTitle(s);
menubar = new JMenuBar();
menu = new JMenu("菜单");
item = new JMenuItem("菜单项",new ImageIcon("a.gif"));
menu.add(item);
text = new JTextField("跳梁小丑",12);
text.setHorizontalAlignment(JTextField.CENTER);
add(text);
menubar.add(menu);//这里加一句
setJMenuBar(menubar);//这里加一句
}
}
更多追问追答
追问
请问init在这是什么意思
追答
init是initial的开头字母,意思是初始化的意思,
在Applet中init()是自动执行的,在Application应用程序中是自动执行构造函数的,在你的程序中是Window(String s,int x,int y,int w,int h)函数.所以在Application应用程序中,你需要在构造函数中,调用一下init()函数来初始化JFrame中的各个组件.
百度网友f4f7a8d
2013-11-03 · TA获得超过941个赞
知道小有建树答主
回答量:924
采纳率:0%
帮助的人:426万
展开全部
public class Js{
public static void main(String args[]){
Window win = new Window("窗口1",60,60,200,190);

}
}
import javax.swing.*;
import java.awt.*;
import static javax.swing.JFrame.*;
public class Window extends JFrame{
JMenuBar menubar;
JMenu menu;
JMenuItem item;
JTextField text;
public Window(String s,int x,int y,int w,int h){
init(s);
setLocation(x,y);
setSize(w,h);
setVisible(true);
setJMenuBar(menubar);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init(String s){
setTitle(s);
menubar = new JMenuBar();
menu = new JMenu("菜单");
item = new JMenuItem("菜单项",new ImageIcon("a.gif"));
menubar.add(menu);
menu.add(item);
text = new JTextField("跳梁小丑",12);
text.setHorizontalAlignment(JTextField.CENTER);
add(text);
}
}
首先menubar 没有把menu添加进去 其次 没有设置JFrame 的setJMenuBar的属性
追问
请问init在这是什么意思
追答
做初始化用的一个方法,主要用来初始化一些想页面一加载就能看见的东西
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友10c6f4b
2013-11-03 · TA获得超过613个赞
知道小有建树答主
回答量:1083
采纳率:100%
帮助的人:217万
展开全部
请问你那个init函数要什么时候执行?
看看书上的例子或看看eclipse或netbeans 的gui设计器生成的代码.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式