| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 556 人关注过本帖
标题:[求助]问下this的用法,顺便帮忙修改下程序
只看楼主 加入收藏
xbw0114
Rank: 1
等 级:新手上路
帖 子:141
专家分:0
注 册:2007-8-8
收藏
 问题点数:0 回复次数:3 
[求助]问下this的用法,顺便帮忙修改下程序

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class HelloFrame extends JFrame {
JPanel contentPane ;
BorderLayout borderLayout1 =new BorderLayout ();
JLabel jLabel1 = new JLabel () ;
public HelloFrame ()
{
try {
jbInit();
}
catch (Exception e)
{
e.printStackTrace();
}
}
private void jbInit() throws Exception
{
contentPane =(JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(400, 300);
this.setTitle("Hello");
jLabel1.setFont(new java.awt.Font("Dialog",1,25));
jLabel1.setText(Hello,java);
contentPane.add(jLabel,BorderLayout.CENTER);
}
protected void processWindowEvent(WindowEvent e)
{
if (e.getID()==WindowEvent.WINDOW_CLOSING){
System.exit(0);
}
}
}

能解释下程序中this的用法吗?谢谢哦

[此贴子已经被作者于2007-8-19 12:36:51编辑过]

搜索更多相关主题的帖子: 用法 
2007-08-19 12:34
george_vcool
Rank: 2
等 级:新手上路
威 望:3
帖 子:453
专家分:0
注 册:2007-7-23
收藏
得分:0 

this就是指正在操作的对象也就是HelloFrame类的对象
代码基本上没有什么问题!!
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class HelloFrame extends JFrame {
JPanel contentPane ;
BorderLayout borderLayout1 =new BorderLayout ();
JLabel jLabel1 = new JLabel () ;
public HelloFrame ()
{
try {
jbInit();
}
catch (Exception e)
{
e.printStackTrace();
}
}
private void jbInit() throws Exception
{
contentPane =(JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(400, 300);
this.setTitle("Hello");
jLabel1.setFont(new java.awt.Font("Dialog",1,25));
jLabel1.setText(Hello,java);//应该是字符串
contentPane.add(jLabel,BorderLayout.CENTER);//应该是jLabel1,写代码的时候小心一点,后面还有一个1
//这里最好用上setVisible(true);使其可见!
//然后建个含main函数的类,观看效果!
}
protected void processWindowEvent(WindowEvent e)
{
if (e.getID()==WindowEvent.WINDOW_CLOSING){
System.exit(0);
}
}
}

2007-08-19 14:34
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
收藏
得分:0 

jLabel1.setText("Hello,java");
contentPane.add(jLabel1,BorderLayout.CENTER);

你的main方法呢????

this 对于外部来说只的是引用该方法的对象
对于内部来说,是在类内部实现的东西。而类名引用的是类内部的静态的,或者声明的东西。
举个例子
[CODE]class A{
class B{

}

public void setNum(int num){
this.num=num;
}
private int num;
}
public class C {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
A a=new A();
a.setNum(20);
A.B b=a.new B();
}
}[/CODE]

这个里面的this指的就是a这个实例。当你用A来点的时候,只能点到B,因为B只是在A里面声明了,而没有具体实现。后面new B()以后就实例了一个B的对象,这时就只能用a了。


2007-08-19 14:46
xbw0114
Rank: 1
等 级:新手上路
帖 子:141
专家分:0
注 册:2007-8-8
收藏
得分:0 

谢谢,受用了`


勤奋造就未来
2007-08-19 21:34
快速回复:[求助]问下this的用法,顺便帮忙修改下程序
数据加载中...
 
   



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

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