java的Frame中的窗体大小设置问题

创建一个frame以后,我想把一个图片做为背景显示出来怎么办?frame四周的边框很讨厌啊。。。如果我用g.drawImage直接画的话,其他还都算了,可是上面很多都被边... 创建一个frame以后,我想把一个图片做为背景显示出来怎么办?
frame四周的边框很讨厌啊。。。
如果我用g.drawImage直接画的话,其他还都算了,可是上面很多都被边框盖住了。怎么解决?
api上说:该矩形左上角的位置为 (insets.left, insets.top),宽度为 width - (insets.left + insets.right),长度为 height - (insets.top + insets.bottom)。
感觉这个不好用啊,有其他的方法么?
填满的话也是上面很多都被边框盖住啊。。。
展开
 我来答
百度网友7fda15c
2008-12-27 · TA获得超过864个赞
知道小有建树答主
回答量:675
采纳率:0%
帮助的人:591万
展开全部
下面这个程序就是将一个图片显示在窗体之前,当然,四周也不会显示出来

public class FirstFrame extends JFrame
{
FirstFrame(int time)
{
super("欢迎");
Container container = getContentPane();
JLabel jl = new JLabel(new ImageIcon("image/welcome.jpg"));//该标签在其显示区内垂直和水平居中对齐
container.add(jl, BorderLayout.CENTER);
setUndecorated(true); //禁用或启用此窗体的装饰,只有在窗体不可显示时才调用此方法
setVisible(true);
pack(); //调整此窗口的大小,以适合其子组件的首选大小和布局
Dimension screenSize =Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕的大小,在具有多个显示屏的系统上,使用主显示屏
Dimension labelSize = jl.getPreferredSize();
setLocation(screenSize.width/2 - (labelSize.width/2),screenSize.height/2 - (labelSize.height/2));
final int pause = time;
final Runnable closerRunner = new Runnable()
{
public void run()
{
setVisible(false);
dispose();
}
};
Runnable waitRunner = new Runnable()
{
public void run()
{
try
{
Thread.sleep(pause);
SwingUtilities.invokeAndWait(closerRunner);//导致Runnable的run()在 AWT事件指派线程上同步执行
}
catch(Exception e){}
}
};
Thread waitThread = new Thread(waitRunner, "SplashThread");//run 方法被调用的对象,新线程的名称
waitThread.start();
}

public static void main(String args[])
{
new FirstFrame(1500);
try
{
Thread.sleep(1500);
}
catch(Exception e){}
}
爱3071
2008-12-27 · 超过11用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:37.8万
展开全部
哦那你可以改变frame的布局格式你可以试一试了frame默认的是 borderlayout
你改成FlowLayout就好了.就能填满整个窗口了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式