gpt4 book ai didi

java - JMenuBar 不显示

转载 作者:搜寻专家 更新时间:2023-11-01 01:22:55 25 4
gpt4 key购买 nike

我似乎做对了一切。我只需要实现一个简单的 JMenuBar 但它似乎不起作用。有人可以帮我解决这个问题吗?

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class swing {
public static void main (String[] args) {
JFrame frame = new JFrame ("menu");
frame.setVisible (true);
frame.setSize (400, 400);
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
JMenuBar bar = new JMenuBar ();
frame.setJMenuBar (bar);
bar.setVisible (true);
JMenu file = new JMenu ("File");
bar.add (file);
JMenuItem open = new JMenuItem ("open");
file.add(open);
}
}

最佳答案

您所做的是先显示框架,然后向其添加菜单栏。不起作用。你应该做相反的事情。在末尾或至少在设置菜单栏之后移动 frame.setVisible (true); 行。您应该始终在添加所有组件后显示框架,否则在显示框架后添加的组件将不会出现,直到 repaint() 完成。


来自 @sjr 的评论:

Sometimes revalidate is required (not only repaint) as altering a container (adding/removing/resizing components) after the container has been displayed.

关于java - JMenuBar 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10991414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com