java JButton显示问题

在窗口中增加两个button,和一个JComponent。一个是Button,另一个是JButton.JComponent的唯一功能是给JComponent填满白色。一开... 在窗口中增加两个button,和一个JComponent。 一个是Button, 另一个是JButton.JComponent 的唯一功能是给JComponent 填满白色。一开始两个button 是可显示的,JComponent 是不可显示的。当点击任何一个按钮后,让JComponent 显示,从而遮挡住这两个按钮。现在的问题是,Button 可以被挡住,但是JButton 总是会显示,这是问什么啊。
代码如下

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

public class MainFrame extends JFrame {
OverLayer overLayer;

public static void main(String [] argv){
MainFrame mainFrame = new MainFrame();
}

public MainFrame(){
JButton button1 = new JButton("click1");
Button button2 = new Button("click2");

overLayer = new OverLayer();
overLayer.setVisible(false);

this.setPreferredSize(new Dimension(400,400));

this.setLayout(null);

this.add(overLayer);
this.add(button1);
this.add(button2);

pack();

overLayer.setBounds(0, 0, getWidth(), getHeight());
button1.setBounds(20,100,80,40);
button2.setBounds(20,150,80,40);

this.setVisible(true);

button1.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
overLayer.setVisible(true);
}
});

button2.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
overLayer.setVisible(true);
}
});
}

}

class OverLayer extends JComponent{
public void paint(Graphics g){
g.setColor(Color.white);
g.fillRect(0, 0, getWidth(), getWidth());
}
}
展开
 我来答
无聊的Q中人
2014-08-02
知道答主
回答量:33
采纳率:0%
帮助的人:18.7万
展开全部
在java中最好,不要讲button和jbutton混用,要不你就用纯的swing包里面的组件,要不就用awt里面的组件,这样才能尽可能的减少问题的出现,对于你这个问题我还真没遇到过,所以建议您使用swing里面的组件,这些都是轻量级组件,跟所运行的系统平台无关,所以推荐使用。
DEHDF
2014-08-02 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:84
采纳率:0%
帮助的人:68.9万
展开全部
为什么你要一个用button,一个用jbutton?
追问
我既用button又用JButton, 主要是想展现一下问题,想说明这两个之间的不同。单独用JButton 问题是一样的。
追答
唉,不懂啊...看着没有任何问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式