| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 441 人关注过本帖
标题:不能正确的改变颜色.
只看楼主 加入收藏
嶄ぎ儱
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-4-21
收藏
 问题点数:0 回复次数:4 
不能正确的改变颜色.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FrameTest extends JFrame implements ActionListener
{
JButton bt1=new JButton("红色");
JButton bt=new JButton("1234567");
JButton bt2=new JButton("绿色");
FrameTest()
{
setTitle("单击事件");
setSize(300,300);
setBackground(Color.white);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
JPanel pan=new JPanel();
pan.setLayout(new FlowLayout());
bt1.addActionListener(this);
bt2.addActionListener(this);
pan.add(bt);
pan.add(bt1);
pan.add(bt2);
setContentPane(pan);
setVisible(true);
}
public static void main(String args[])
{
JFrame frame=new FrameTest();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==bt1)
setBackground(Color.red);
if(e.getSource()==bt2)
setBackground(Color.cyan);
}
}
为什么我点下bt1或bt2,颜色一闪而过,并不能改变啊,是怎么回事?
搜索更多相关主题的帖子: 颜色 
2007-06-09 18:43
pity1115
Rank: 1
等 级:新手上路
威 望:2
帖 子:184
专家分:0
注 册:2006-9-15
收藏
得分:0 
你改变的是Frame的颜色,而我们看到的是Pnael,所以你应该改变的是Pnael的颜色。
package test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FrameTest extends JFrame implements ActionListener
{
JButton bt1=new JButton(\"红色\");
JButton bt=new JButton(\"1234567\");
JButton bt2=new JButton(\"绿色\");
JPanel pan;
FrameTest()
{
setTitle(\"单击事件\");
setSize(300,300);
setBackground(Color.white);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
pan=new JPanel();
pan.setLayout(new FlowLayout());
bt1.addActionListener(this);
bt2.addActionListener(this);
pan.add(bt);
pan.add(bt1);
pan.add(bt2);
setContentPane(pan);
setVisible(true);
}
public static void main(String args[])
{
JFrame frame=new FrameTest();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==bt1)
pan.setBackground(Color.red);
if(e.getSource()==bt2)
pan.setBackground(Color.cyan);
}
}

2007-06-09 18:52
嶄ぎ儱
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-4-21
收藏
得分:0 
以下是引用pity1115在2007-6-9 18:52:02的发言:
你改变的是Frame的颜色,而我们看到的是Pnael,所以你应该改变的是Pnael的颜色。
package test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FrameTest extends JFrame implements ActionListener
{
JButton bt1=new JButton(\"红色\");
JButton bt=new JButton(\"1234567\");
JButton bt2=new JButton(\"绿色\");
JPanel pan;
FrameTest()
{
setTitle(\"单击事件\");
setSize(300,300);
setBackground(Color.white);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
pan=new JPanel();
pan.setLayout(new FlowLayout());
bt1.addActionListener(this);
bt2.addActionListener(this);
pan.add(bt);
pan.add(bt1);
pan.add(bt2);
setContentPane(pan);
setVisible(true);
}
public static void main(String args[])
{
JFrame frame=new FrameTest();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==bt1) //按你这样写
pan.setBackground(Color.red); //这里会出现不能认识的对象
if(e.getSource()==bt2)
pan.setBackground(Color.cyan); //这里也是一样.
}
}


别人不给你机会,自己去创造机会.
2007-06-09 19:02
pity1115
Rank: 1
等 级:新手上路
威 望:2
帖 子:184
专家分:0
注 册:2006-9-15
收藏
得分:0 
你没看到我把pan定义在构造方法外面了吗?

2007-06-09 19:05
嶄ぎ儱
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-4-21
收藏
得分:0 
哦.没注意,不好意思.谢谢~~~~

别人不给你机会,自己去创造机会.
2007-06-09 19:07
快速回复:不能正确的改变颜色.
数据加载中...
 
   



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

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