标题:监听对象
只看楼主
hjq
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-11-21
得分:0 

现在可以运行起来,不过知道是否满足你的要求~~
import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

class useCardLayout extends JFrame {

public CardLayout mycard1 = new CardLayout(2,3);//2,3表示与边缘的距离


public JButton bt1= new JButton("key1");

public JButton bt2 = new JButton("key2");

public JButton bt3 = new JButton("key3");

public Container c = this.getContentPane();

useCardLayout(){

super("卡片管理");

setSize(400,300);

setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
this.add(bt1);
this.add(bt2);
this.add(bt3);
this.setLayout(mycard1); //应该是这样设置Layout吧~
/* c.add("mycard1",bt1);

c.add("mycard1",bt2);

c.add("mycard",bt3);*/

Lis list = new Lis();

bt1.addActionListener(list);

bt2.addActionListener(list);

bt3.addActionListener(list);

setResizable(true);

setVisible(true);

}
class Lis implements ActionListener {

//public static void main(String args[]){ } //我想知道为什么这里会有一个main方法?
//我觉得除非这个是静态内部类,否则
//不应该有静态方法~
public void actionPerformed(ActionEvent e){
Object r=e.getSource();

if(r==bt1 || r==bt2) mycard1.next(c);

else if(r==bt3) mycard1.first(c);
}
}

public static void main(String args[]){

new useCardLayout();
}

}


2007-01-06 15:51
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 

你不能把内部类做为主类

并且内部类也不能有static的方法和变量

这是规定


可惜不是你,陪我到最后
2007-01-06 16:57
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
我给你8楼的例子不是可以用吗

可惜不是你,陪我到最后
2007-01-06 16:57
117ai
Rank: 1
等 级:新手上路
帖 子:200
专家分:0
注 册:2006-12-9
得分:0 

前辈,为什么你们上面可以不用c.set(cardLayout1);?


人真的很奇怪,以前看书时老喜欢看表,希望时间快点过;现在看书总是不敢看表,但时间却很快过!
2007-01-07 19:21
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
什么?

可惜不是你,陪我到最后
2007-01-07 19:44
117ai
Rank: 1
等 级:新手上路
帖 子:200
专家分:0
注 册:2006-12-9
得分:0 

就是说为什么可以不用那个this.getContentPane.setLayout(cardLayout1)


人真的很奇怪,以前看书时老喜欢看表,希望时间快点过;现在看书总是不敢看表,但时间却很快过!
2007-01-07 20:23
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
JDK1.5可以直接设置
不用再getContentPane了

可惜不是你,陪我到最后
2007-01-07 20:29
hjq
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-11-21
得分:0 
是不是c.setLayout()呀?我查过API里边好像是没有 c.set(CardLayout1)~

2007-01-07 20:33
hjq
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-11-21
得分:0 
是不是c.setLayout()呀?我查过API里边好像是没有 c.set(CardLayout1)~

2007-01-07 20:34
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
是setLayout

可惜不是你,陪我到最后
2007-01-07 20:38



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




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

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