| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 299 人关注过本帖
标题:有段代码不明白
收藏  订阅  推荐  打印 
dukai5302885
Rank: 1
等级:新手上路
帖子:8
积分:212
注册:2008-7-24
有段代码不明白

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JPasswordFieldDemo extends JFrame
{
    JTextField userName;
    JPasswordField passWord;
    JButton logonButton;
    JButton cancelButton;
    
    public JPasswordFieldDemo()
    {
        super("JPasswordField演示");
        Container container=getContentPane();
        container.setLayout(new GridLayout(3,2,2,2));
        
        userName=new JTextField(16);
        passWord=new JPasswordField(16);
        logonButton=new JButton("登录");
        logonButton.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent evt)
            {
                char[] pw=passWord.getPassword();
                String message="您的用户名:"+userName.getText()+"\n你的密码:"+new String(pw);
                JOptionPane.showMessageDialog(JPasswordFieldDemo.this,  message);
            }    
        });
        cancelButton=new JButton("退出");
        cancelButton.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent evt)
            {
                System.exit(0);
            }
        });
        
        container.add(new JLabel("   用户名:"));
        container.add(userName);
        container.add(new JLabel("   密码:"));
        container.add(passWord);
        container.add(logonButton);
        container.add(cancelButton);
        setResizable(false);
        setSize(300,120);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args)
    {
        new JPasswordFieldDemo();
    }
}

中的JPasswordFieldDemo.this 指的是什么啊
搜索更多相关主题的帖子: import  awt  container  new  java  
2008-8-16 17:48
freish
Rank: 12Rank: 12Rank: 12
等级:版主
威望:4
帖子:379
积分:4540
注册:2007-6-1

指当前的容器吧

可以用一个声明一个Container,可以把JPasswordFieldDemo.this替换成container
2008-8-17 10:40
daqer
Rank: 1
等级:新手上路
帖子:15
积分:250
注册:2008-8-26

showMessageDialog(JFrame j,String message)
一定有这个方法
JPasswordFieldDemo.this 就是当前Swing容器

我都艺术家一个多礼拜了。
2008-8-26 13:42
dcuzhang
Rank: 1
等级:新手上路
帖子:20
积分:318
注册:2008-3-13

详见core jave 第1卷 swing 里有说明, 具体那节记不住了。

this 指的是当前的object

JOptionPane.showMessageDialog(JPasswordFieldDemo.this,  message);

这里如果只用 this , this 指的是 logonButton
而 用JPasswordFieldDemo.this  , 则指的是外层的  JPasswordFieldDemo 的一个实体
2008-8-26 22:41
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.049302 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved