| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 902 人关注过本帖
标题:为什么用show()和pack();setvisible()显示出来的图不一样?
只看楼主 加入收藏
嶄ぎ儱
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-4-21
收藏
 问题点数:0 回复次数:4 
为什么用show()和pack();setvisible()显示出来的图不一样?

import java.util.*;
import java.awt.*;
import javax.swing.*;
public class FourTimer extends JFrame
{
Watch watch=new Watch();
public FourTimer()
{
super("时间显示");
setSize(200,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pan=new JPanel();
pan.setLayout(new GridLayout(1,1,15,15));
pan.add(watch);
setContentPane(pan);
}
public static void main(String[] args)
{
JFrame time=new FourTimer();
time.pack();
time.setVisible(true);

}
}
class Watch extends JPanel implements Runnable
{
Thread runner;
Watch()
{
if(runner==null)
{
runner=new Thread(this);
runner.start();
}
}
public void run()
{
while(true)
{
repaint();
try {
Thread.sleep(1000);
}
catch (InterruptedException ex) {

}
}
}
public void paintComponent(Graphics ss)
{
Graphics2D ss2D=(Graphics2D)ss;
Font type=new Font("Serif",Font.BOLD,12);
ss2D.setFont(type);
ss2D.setColor(getBackground());
ss2D.fillRect(0,0,getSize().width,getSize().height);
GregorianCalendar day=new GregorianCalendar();
String time=day.getTime().toString();
ss2D.setColor(Color.red);
ss2D.drawString(time,5,25);
}
}
如果用上面的就会显示出这样的图形:

图片附件: 游客没有浏览图片的权限,请 登录注册

如果是 用show();就正常.
但在JDK1.6中不能用show();只有用pack();setVisibel();,这样一来就显示不正常了,还是我的代码有问题??
搜索更多相关主题的帖子: pack setvisible show pan import 
2007-05-30 11:48
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

你既然设了大小,就不要去pack了

pack一下就会把你的窗口压缩到能最小能显示为止

如果你的JPanel设置一下PreferredSize,就pack不了了


可惜不是你,陪我到最后
2007-05-30 12:37
嶄ぎ儱
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-4-21
收藏
得分:0 
哦,原来还有这一手啊!!!!!!Thank You!!!!!!!!!!!!!!!

别人不给你机会,自己去创造机会.
2007-05-30 12:45
lov
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-12-23
收藏
得分:0 
show()
和visible()是一样的 !
2007-05-30 18:28
天涯海角
Rank: 2
等 级:新手上路
威 望:3
帖 子:507
专家分:0
注 册:2005-10-21
收藏
得分:0 
前两个是awt组件,后一个是swing组件,推荐用swing 组建

我的未来不是梦!
2007-05-30 22:06
快速回复:为什么用show()和pack();setvisible()显示出来的图不一样?
数据加载中...
 
   



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

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