标题:已解决[求助]AWT文本域方法问题
只看楼主
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
 问题点数:0 回复次数:13 
已解决[求助]AWT文本域方法问题

import java.awt.*;

class Test extends Frame {
TextField txtName = new TextField(20);
Label lblName = new Label("名称:");

//文本域不可编辑
void setEditable(boolean txtName) {
txtName=false;
}


public Test(String title)
{
super(title);
setLayout(new FlowLayout());
add(lblName);
add(txtName);
}


public static void main(String[] args)
{
Test x = new Test("TEST");
x.setSize(300,100);
x.setVisible(true);
}

用了以上代码 文本域还是可以编辑

请教应该修改哪里

[此贴子已经被作者于2006-10-19 14:05:35编辑过]

搜索更多相关主题的帖子: AWT 文本域 txtName Label new 
2006-10-18 11:56
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
txtName.setEditable(boolean txtName)

可惜不是你,陪我到最后
2006-10-18 11:57
tblovecj
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2006-9-20
得分:0 
支持楼上的说法,应该是对像名来.setEditable(false),而不是用void,它只是表示无返回类型

2006-10-18 18:15
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
得分:0 
再次请教下
txtName.setEditable(boolean false)
应该放哪?

public static void main(String[] args)
{
Test x = new Test("TEST");
txtName.setEditable(false);//放这里就报错
x.setSize(300,100);
x.setVisible(true);
}

[此贴子已经被作者于2006-10-18 19:35:18编辑过]

2006-10-18 19:18
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
当然出错,txtName在MAIN方法里面能访问到吗?
不要写什么都放到MAIN方法里面
应该养成一个问题写成一个方法的习惯

可惜不是你,陪我到最后
2006-10-19 09:15
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
得分:0 
以下是引用千里冰封在2006-10-19 9:15:59的发言:
当然出错,txtName在MAIN方法里面能访问到吗?
不要写什么都放到MAIN方法里面
应该养成一个问题写成一个方法的习惯

后来放到void等方法中还是不行
试过很多地方了
加上去都没反应

2006-10-19 12:26
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
txtName.setEditable(false);//放这里就报错
放到声明它的地方去
要不你就把它声明成一个成员变量
这样,在这个类里面,除了static 方法外,哪里都能访问了

可惜不是你,陪我到最后
2006-10-19 12:33
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
得分:0 

import java.awt.*;

class Test extends Frame {
TextField txtName = new TextField(20);
Label lblName = new Label("名称:");
txtName.setEditable(false);//放这里没反应


public Test(String title)
{
super(title);
setLayout(new FlowLayout());
add(lblName);
add(txtName);
}


public static void main(String[] args)
{
Test x = new Test("TEST");
x.setSize(300,100);
x.setVisible(true);
}

2006-10-19 12:50
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
放在那里后,你的文本域还能编辑吗?

还有,现在构造用户界面最好是用javax.swing下的组件
它们都是实现了双缓冲的.对性能也有很大的帮助

可惜不是你,陪我到最后
2006-10-19 13:07
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
得分:0 
我这只是看到AWT那一章的方法才找做的

我放那里了以后 文本还是可以编辑

会不会是 这方法应该用于SWING 不能用于AWT ?

2006-10-19 13:35



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




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

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