标题:使用不同的类时的问题
取消只看楼主
lanshetou
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-6-1
结帖率:0
 问题点数:0 回复次数:4 
使用不同的类时的问题

我的程序是在面板中添加2个按钮,当单击相应的按钮时,改变背景颜色,我想用ColorAction这个类实现监听但是总是提示,没有为类型 ColorAction 定义方法 setBackground(Color),不过我用内部类实现了,请高手指教!

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FrameTest {

/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
boolean t=true;
Frame frame=new Frame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(t);
}

}
class Frame extends JFrame
{
public Frame()
{
setTitle("FrameTest");
setSize(W,H);
FramePanel panel=new FramePanel();
add(panel);
}
private static final long serialVersionUID=20070609;
public static final int W=300;
public static final int H=200;
}
class FramePanel extends JPanel
{
public FramePanel()
{
JButton yellow=new JButton("yellow");
JButton green=new JButton("green");
add(yellow);
add(green);
ColorAction yellowAction=new ColorAction(Color.YELLOW);
ColorAction greenAction=new ColorAction(Color.GREEN);
yellow.addActionListener(yellowAction);
green.addActionListener(greenAction);
}
private static final long serialVersionUID=20070609;
}
class ColorAction implements ActionListener
{
public ColorAction(Color c)
{
backgroundColor=c;
}
public void actionPerformed(ActionEvent event)
{
setBackground(backgroundColor); //没有为类型 ColorAction 定义方法 setBackground(Color)
}
private Color backgroundColor;
}

搜索更多相关主题的帖子: import awt args java public 
2007-06-09 16:24
lanshetou
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-6-1
得分:0 
为什么把class ColorAction implements ActionListener定义为class FramePanel extends JPanel的内部类就行呢,我知道那样可以的,但是我不知道为什么可以。
请您讲明白些!谢谢!

2007-06-09 22:04
lanshetou
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-6-1
得分:0 
您的意思是这个方法产生了二异性吧?

2007-06-09 22:15
lanshetou
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-6-1
得分:0 
哦,知道了,非常谢谢!

2007-06-09 22:33
lanshetou
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-6-1
得分:0 
谢谢10楼!

2007-06-13 11:02



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




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

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