标题:panel挡住菜单栏
只看楼主
lyb151
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2010-2-6
结帖率:80%
已结贴  问题点数:5 回复次数:5 
panel挡住菜单栏
如下程序片断,菜单被panel挡住,显示不出来,去掉panel就没问题了,会是什么问题呢?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import *;
public class SaoLei extends JFrame implements ActionListener {
    JButton [][] Mine=new JButton[8][8];
    JButton Start=new JButton();
    Container Con=this.getContentPane();
    Panel P1;
    JMenuBar mb;
    JMenu m1,m2;
    JMenuItem MI1,MI2,MI3,MI4,MI5;
    public SaoLei() {
        Start=new JButton("开始");
        Start.setSize(200,200);
        mb=new JMenuBar();
        m1=new JMenu("文件");
        m2=new JMenu("选项");
        MI1= new JMenuItem("开始");
        MI2= new JMenuItem("结束");
        MI3= new JMenuItem("退出");
        MI4= new JMenuItem("历史记录");
        MI5= new JMenuItem("帮助");
        P1=new Panel();
        P1.setLayout(new GridLayout(8,8));
        P1.set
        for(int i=0;i<8;i++)
            for(int j=0;j<8;j++)
            {
            Mine[i][j]=new JButton();
            P1.add(Mine[i][j]);
            }
        Con.setLayout(new BorderLayout());
        mb.add(m1);
        mb.add(m2);
        m1.add(MI1);
        m1.add(MI2);
        m1.addSeparator();
        m1.add(MI3);
        m2.add(MI4);
        m2.add(MI5);
        Con.add(Start,BorderLayout.NORTH);
        Con.add(P1,BorderLayout.CENTER);
        this.setJMenuBar(mb);
        pack();
        this.setVisible(true);
    }
   public void actionPerformed(ActionEvent e)
   {
      
   }
   public static void main(String [] args)
   {
   new SaoLei();
   }
}
搜索更多相关主题的帖子: panel 菜单 
2010-05-19 18:39
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
得分:5 
这个问题是awt和swing混用产生的结果。
楼主可以把菜单设为重量级组件,或者把panel改为swing的。
程序代码:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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

public class SaoLei extends JFrame implements ActionListener {
   // JPopupMenu.setDefaultLightWeightPopupEnabled(false);//将菜单设置为重量级组件
    JButton[][] Mine = new JButton[8][8];
    JButton Start = new JButton();
    Container Con = this.getContentPane();
    JPanel P1;
    JMenuBar mb;
    JMenu m1, m2;
    JMenuItem MI1, MI2, MI3, MI4, MI5;

    public SaoLei() {
        Start = new JButton("开始");
        Start.setSize(200, 200);
        mb = new JMenuBar();
        m1 = new JMenu("文件");
        m2 = new JMenu("选项");
        MI1 = new JMenuItem("开始");
        MI2 = new JMenuItem("结束");
        MI3 = new JMenuItem("退出");
        MI4 = new JMenuItem("历史记录");
        MI5 = new JMenuItem("帮助");
        P1 = new JPanel();
        P1.setLayout(new GridLayout(8, 8));
        for (int i = 0; i < 8; i++)
            for (int j = 0; j < 8; j++) {
                Mine[i][j] = new JButton();
                P1.add(Mine[i][j]);
            }
        Con.setLayout(new BorderLayout());
        mb.add(m1);
        mb.add(m2);
        m1.add(MI1);
        m1.add(MI2);
        m1.addSeparator();
        m1.add(MI3);
        m2.add(MI4);
        m2.add(MI5);
        Con.add(Start, BorderLayout.NORTH);
        Con.add(P1, BorderLayout.CENTER);
   
        this.setJMenuBar(mb);
        pack();
        this.setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {

    }

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

2010-05-20 09:27
xudongcsharp
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:129
专家分:156
注 册:2009-5-31
得分:0 
受教了
2010-05-20 18:25
lyb151
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2010-2-6
得分:0 
回复 2楼 linjx0123
谢啦、、、
2010-05-21 22:27
baifenghan
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
得分:0 
不要混用重量级组建和轻量级组建,在swing之后请尽量使用轻量级的swing组建。
awt组建每个组建都会有一个系统等同体,消耗资源比较大。

[ 本帖最后由 baifenghan 于 2010-5-22 02:13 编辑 ]
2010-05-22 02:12
MrXiaoGuo
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-3-9
得分:0 
回复 2楼 linjx0123
你们用的都不是一个组件好吧,JPanel和Penel差距好大的啊
2021-03-10 11:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-307349-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.272862 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved