Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JMenuBar不是';他没有出现_Java_Swing_Jmenubar - Fatal编程技术网

Java JMenuBar不是';他没有出现

Java JMenuBar不是';他没有出现,java,swing,jmenubar,Java,Swing,Jmenubar,你们有人知道为什么我的JMenuBar菜单栏没有出现吗? 我使用的是JFrame和JPanel 我的类扩展了JPanel,并继承了paint方法(已经使用了super.paint(g)) 我想在我的JMenuBar上显示一些jlabel和JTextFields(我知道这不是它的目的) 这是我的密码: public void createMenuBar(){ menuBar = new JMenuBar(); menuBar.setBounds(0,0,1463,29);

你们有人知道为什么我的JMenuBar
菜单栏没有出现吗?
我使用的是
JFrame
JPanel

我的类扩展了
JPanel
,并继承了
paint
方法(已经使用了
super.paint(g)

我想在我的
JMenuBar
上显示一些
jlabel
JTextFields
(我知道这不是它的目的)

这是我的密码:

public void createMenuBar(){

    menuBar = new JMenuBar();
    menuBar.setBounds(0,0,1463,29);
    menuBar.setLayout(null);
    this.add(menuBar);

    ipLbl = new JLabel("IP-Adresse:");
    ipLbl.setBounds(5,2,150,25);
    ipLbl.setLabelFor(ip);
    menuBar.add(ipLbl);

    ip = new JTextField();
    ip.setBounds(150,2,100,25);
    menuBar.add(ip);
}
我在创建JFrame之后调用此方法,但就在执行
setVisible(true)
之前

看:


创建菜单栏之后,我认为您仍然需要将其添加到JFrame中。更改createMenuBar()以返回JMenuBar而不是void,然后可以编写以下代码:

fenster.setJMenuBar(createMenuBar());

我不清楚createMenuBar()代码中的这个是什么,但我猜它不是fenster,而是允许添加的东西。

您可以使用
fenster.setJMenuBar(menubar)将菜单栏添加到框架中

如果您想将菜单栏添加到JPanel,本文提供了一种方法,您可以使用:


不要使用空布局!!!。这已在您以前的帖子中提出:。注意建议。我们给他们一个理由。请阅读上的Swing教程以获取一个工作示例。代码还将向您展示如何更好地构建您的类。camickr我知道,但这个程序仅适用于我,甚至我在学校的老师告诉我们,我们可以使用空布局。所以我用什么取决于我自己!此外,空布局非常易于使用<代码>此外,空布局使用起来非常简单-不,不是。您完全不知道组件应该有多大才能正确显示。硬编码随机数是一种浪费时间的行为,并且只会在将来引起问题,特别是在需要进行更改时。更改字体之类的简单操作会导致问题。仅仅因为你能做某事并不意味着你应该做。学会正确使用秋千!你甚至还没有学会Swing的基础知识(或者你不会问这个问题),所以你不知道什么是容易的,什么是不容易的。这仅仅来自经验。“这”是扩展的JPanel^^
fenster.setJMenuBar(createMenuBar());