| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1307 人关注过本帖
标题:监听对象
只看楼主 加入收藏
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
快速回复:监听对象
数据加载中...
 
   



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

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