标题:设置JFrame的背景色
只看楼主
小牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:434
专家分:8
注 册:2006-10-1
结帖率:81.48%
 问题点数:0 回复次数:19 
设置JFrame的背景色

最近在学Swing 遇到这个问题:
public class Test
{
public static void mian(String[] args)
{
JFrame jf= new JFrame();
jf.setBackgroud(Color.red);// 问题就出在这!!!
setVisible(true);
jf.setDefaultoperation(1);
jf.setsize(100,100);
jf.setLocation(100,100);
}

程序运行时,出现的JFrame一闪一下,本来的背景色(Color.red)变为默认的颜色。
这是怎么回事。


搜索更多相关主题的帖子: JFrame 设置 
2007-04-06 19:39
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
得分:0 
import javax.swing.*;
import java.awt.*;
public class Test
{
public static void main(String[] args)
{
JFrame jf= new JFrame();
jf.setBackground(Color.red);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/*此处拷贝书上,自己理解是程序关闭后,正常退出,找了找jdk1.6的doc没找到你写的setDefaultOperation,笔误吧*/

jf.setSize(100,100);
jf.setLocation(100,100);
}
}
我运行没有问题!
2007-04-06 20:18
小牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:434
专家分:8
注 册:2006-10-1
得分:0 
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JFrame.EXIT_ON_CLOSE是个常量,可以用1代替的。

本店经营各类国际品牌运动鞋,板鞋,休闲鞋,有李宁,nike,匹克,阿迪达斯。
2007-04-06 20:33
狂飙的蜗牛
Rank: 1
等 级:新手上路
帖 子:174
专家分:0
注 册:2007-1-23
得分:0 
小牛:
jf.setDefaultoperation(1);


jhuwangvs:
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
2007-04-06 20:39
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
得分:0 

我试了,JFrame.EXIT_ON_CLOSE不能用1代替
否则控制台不能正常退出
我用的是jdk1.5

2007-04-07 21:51
风月_无边
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:60
帖 子:2959
专家分:652
注 册:2007-1-19
得分:0 

import javax.swing.*;
import java.awt.*;
public class Test
{
public static void mian(String[] args)
{
JFrame jf= new JFrame();
jf.setBackground(Color.RED);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 如果是1.6可以你用1代替看看行不.
jf.setSize(100,100);
jf.setLocation(100,100);
}
}


我的网站 http://www.
2007-04-07 23:02
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
得分:0 
以下是引用小牛在2007-4-6 19:39:09的发言:

最近在学Swing 遇到这个问题:
import javax.swing.*;
import java.awt.*;
public class Test
{
public static void main(String[] args)
{
JFrame jf= new JFrame();
jf.getContentPane().setBackground(Color.red); //注意这个
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(100,100);
jf.setLocation(100,100);
}
}

程序运行时,出现的JFrame一闪一下,本来的背景色(Color.red)变为默认的颜色。
这是怎么回事。


PS1: 楼主的代码N多笔误
PS2: 楼上几位貌似都走题了。


My BlogClick Me
2007-04-08 00:41
beyond_p
Rank: 1
等 级:新手上路
威 望:1
帖 子:114
专家分:0
注 册:2007-1-17
得分:0 
import javax.swing.*;
import java.awt.*;
public class Test
{
public static void main(String[] args)
{
JFrame jf= new JFrame();
jf.getContentPane().setBackground(Color.red); //注意这个
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(100,100);
jf.setLocation(100,100);
}
}

他刚提这个问题时我也这么试了下
可是运行后 显示的并不是红色的背景色,要把整个窗体的大小 拉大或边小点后背景色才显示出来是怎么回事啊!


越是深入的学习,就越来越感觉到自己知道的太少了...
2007-04-08 09:22
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
因为顺序反了
应该是

先设置大小,然后再设置其可见
jf.setSize(100,100);
jf.setLocation(100,100);


jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


可惜不是你,陪我到最后
2007-04-08 09:26
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 

还有,JAVA的常量最好还是用大写,Color.RED会更好一些

Color.red是以前写Color这个类的程序员没有注意所造成的错误,后来已经加了大写的常量

所以我们尽量遵守JAVA的命名规范


可惜不是你,陪我到最后
2007-04-08 09:28



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




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

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