java中弹出界面问题

在java图形界面编程中,如下图在选择"增加图书"后会弹出一个增加图书的界面,现在想做成那种选择增加图书后,增加图书的界面就在JMenuBar下面的区域内显示,如下图红色部分。求解!

 

 

 

 

你看一下这个,是你要的效果,点不同的菜单换不同的颜色。

import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

public class Demo extends JFrame {

CardLayout card = new CardLayout(0, 0);
JPanel panel = null;
Container main = null;

public Demo() {

    main = getContentPane();

    JMenuBar menuBar = new JMenuBar();
    setJMenuBar(menuBar);

    JMenu menu = new JMenu("welcome");
    menuBar.add(menu);

    JMenuItem menuItem = new JMenuItem("yellow");
    menuItem.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            card.show(main, "yellow");
        }
    });
    menu.add(menuItem);

    menuItem = new JMenuItem("red");
    menuItem.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            card.show(main, "red");
        }
    });
    menu.add(menuItem);
    getContentPane().setLayout(card);
    panel = new JPanel();
    panel.setBackground(Color.yellow);
    add("yellow", panel);
    panel = new JPanel();
    panel.setBackground(Color.red);
    add("red", panel);

    // 窗口属性的设置
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    setSize(300, 200);

    setVisible(true);
}

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

}

使用CardLayout布局。

主面板设成CardLayout布局。
里面添加多个Panel

菜单击事件中,做Panel显示。