当前位置: 代码迷 >> Java相关 >> 已解决[求助]AWT文本域方法问题
  详细解决方案

已解决[求助]AWT文本域方法问题

热度:83   发布时间:2006-10-18 11:56:00.0
已解决[求助]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  

----------------解决方案--------------------------------------------------------
txtName.setEditable(boolean txtName)
----------------解决方案--------------------------------------------------------
支持楼上的说法,应该是对像名来.setEditable(false),而不是用void,它只是表示无返回类型
----------------解决方案--------------------------------------------------------
再次请教下
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编辑过]


----------------解决方案--------------------------------------------------------
当然出错,txtName在MAIN方法里面能访问到吗?
不要写什么都放到MAIN方法里面
应该养成一个问题写成一个方法的习惯
----------------解决方案--------------------------------------------------------
以下是引用千里冰封在2006-10-19 9:15:59的发言:
当然出错,txtName在MAIN方法里面能访问到吗?
不要写什么都放到MAIN方法里面
应该养成一个问题写成一个方法的习惯

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


----------------解决方案--------------------------------------------------------
txtName.setEditable(false);//放这里就报错
放到声明它的地方去
要不你就把它声明成一个成员变量
这样,在这个类里面,除了static 方法外,哪里都能访问了
----------------解决方案--------------------------------------------------------

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);
}


----------------解决方案--------------------------------------------------------
放在那里后,你的文本域还能编辑吗?

还有,现在构造用户界面最好是用javax.swing下的组件
它们都是实现了双缓冲的.对性能也有很大的帮助
----------------解决方案--------------------------------------------------------
我这只是看到AWT那一章的方法才找做的

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

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


----------------解决方案--------------------------------------------------------
  相关解决方案