最近在学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)变为默认的颜色。
这是怎么回事。
----------------解决方案--------------------------------------------------------
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);
}
}
我运行没有问题!
----------------解决方案--------------------------------------------------------
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JFrame.EXIT_ON_CLOSE是个常量,可以用1代替的。
----------------解决方案--------------------------------------------------------
小牛:
jf.setDefaultoperation(1);
jhuwangvs:
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
----------------解决方案--------------------------------------------------------
我试了,JFrame.EXIT_ON_CLOSE不能用1代替
否则控制台不能正常退出
我用的是jdk1.5
----------------解决方案--------------------------------------------------------
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);
}
}
----------------解决方案--------------------------------------------------------
最近在学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: 楼上几位貌似都走题了。
----------------解决方案--------------------------------------------------------
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);
}
}
他刚提这个问题时我也这么试了下
可是运行后 显示的并不是红色的背景色,要把整个窗体的大小 拉大或边小点后背景色才显示出来是怎么回事啊!
----------------解决方案--------------------------------------------------------
因为顺序反了
应该是
先设置大小,然后再设置其可见
jf.setSize(100,100);
jf.setLocation(100,100);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
----------------解决方案--------------------------------------------------------
还有,JAVA的常量最好还是用大写,Color.RED会更好一些
Color.red是以前写Color这个类的程序员没有注意所造成的错误,后来已经加了大写的常量
所以我们尽量遵守JAVA的命名规范
----------------解决方案--------------------------------------------------------