java-gui问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 12:22:02
java问题:在JFrame里加入菜单栏元素后加入JPanel元素(顺序不能改变),加入JPanel后餐单栏下拉框被挡住无法显示,怎么办?
错了,是加入了JApplet元素。

怎么可能被挡住呢?看下面的代码,完全没有问题的

import java.awt.Color;
import javax.swing.*;

public class MyFrame extends JFrame {

MyFrame(){
JMenuBar bar=new JMenuBar();
JMenu mFile=new JMenu("File");
mFile.add(new JMenuItem("Open"));
mFile.add(new JMenuItem("Save"));
mFile.add(new JMenuItem("Save as"));
mFile.addSeparator();
mFile.add(new JMenuItem("Exit"));
bar.add(mFile);
this.setJMenuBar(bar);

JPanel panel=new JPanel();
panel.setBackground(Color.GREEN);
getContentPane().add(panel,"Center");

this.setSize(300, 300);
this.setVisible(true);
}

public static void main(String[] args) {
new MyFrame();
}

}

每个控件都有个属性,好像是A开头的、可以设置控件是属于那个容器的

JFrame的getContentPane方法,不能重复添加组件,否则会把先前添加的组件覆盖,你为何不把MenuBar加在JPanel上呢?