java程序运行后 只能显示一个button 其他的不能显示 只有鼠标在上面的时间可以显示 是怎么回事?

importjava.awt.Color;importjava.awt.Dimension;importjava.awt.Graphics;importjava.awt.... import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
public class Timekeeper extends JFrame implements ActionListener{
public Timekeeper()
{
super("MyClock");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300,300);
setBackground(Color.YELLOW);
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((int)dimension.getWidth()/2-200,(int)dimension.getHeight()/2-200);
JButton buttonStart = new JButton("启动");
JButton buttonPause = new JButton("暂停");
JButton buttonReset = new JButton("复位");
buttonStart.setMargin(new Insets(0,0,0,0));
buttonPause.setMargin(new Insets(0,0,0,0));
buttonReset.setMargin(new Insets(0,0,0,0));
JPanel jp = new JPanel();
jp.setLayout(null);
buttonStart.setBounds(20, 20,50,30);
buttonPause.setBounds(80, 20,50,30);
buttonReset.setBounds(50, 50,50,30);
jp.add(buttonStart);
jp.add(buttonPause);
jp.add(buttonReset);
this.setLayout(null);
jp.setVisible(true);
jp.setBounds(100, 100, 300, 300);
this.add(jp);
setResizable(false);
setVisible(true);
int delay = 1000;
ActionListener ac = new ActionListener(){
public void actionPerformed(ActionEvent evt){
repaint();
}
};

new Timer(delay,ac).start();
}

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub

}

public void paint(Graphics g)
{
g.setColor(Color.YELLOW);
g.fillRect(0, 0, 300, 50);
g.setColor(Color.RED);
g.drawString(new SimpleDateFormat("hh:mm:ss").format(new Date()), 130, 50);
}

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

}
展开
 我来答
百度网友12ee0fd
2012-10-19 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:2337万
展开全部
重写paint引发的问题
追问
可以具体说说么 应该怎么弄???
追答
你要显示时间用一个JLabel就可以了。

在 paint方法开始加上 super.paint(g);
百度网友ce7f3ccb4
2012-10-20 · TA获得超过1950个赞
知道大有可为答主
回答量:2299
采纳率:0%
帮助的人:1901万
展开全部
最好不要在窗体设置背景,颜色什么的,不然就会出现这种情况,特别是Jbutton最突出,最好使用button控件,要不然你在窗体上放个JPanel,在JPanel里放控件iu不会出现鼠标划过才显示按钮的问题了,这个问题我以前纠结过,现在一切OK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yunsha4ngf
2012-10-19
知道答主
回答量:13
采纳率:0%
帮助的人:1.9万
展开全部
不错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式