java编写一个有两个文本框的小应用程序,在第一个文本框中输入英语单词,在第二个文本框中会自动显示汉语
importjava.applet.Applet;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;i...
import java.applet.Applet;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
public class Question5_8 extends Applet implements ActionListener{
JTextField text1;
JTextField text2;
String s;
public void init(){
setLayout(new GridLayout(2, 1));
setSize(400,200);
text1 = new JTextField("");
text2 = new JTextField("");
add(text1);
add(text2);
text1.addActionListener(this);
text2.addActionListener(this);
text2.setEnabled(false);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==text1){
s=text1.getText();
if(s=="red"){
text2.setText("红色");
}
else if(s=="红色"){
text2.setText("red");
}
}
}
}
程序如上编写,但是在第一个文本框中输入red后,没有任何反应,请问如何修改程序? 展开
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
public class Question5_8 extends Applet implements ActionListener{
JTextField text1;
JTextField text2;
String s;
public void init(){
setLayout(new GridLayout(2, 1));
setSize(400,200);
text1 = new JTextField("");
text2 = new JTextField("");
add(text1);
add(text2);
text1.addActionListener(this);
text2.addActionListener(this);
text2.setEnabled(false);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==text1){
s=text1.getText();
if(s=="red"){
text2.setText("红色");
}
else if(s=="红色"){
text2.setText("red");
}
}
}
}
程序如上编写,但是在第一个文本框中输入red后,没有任何反应,请问如何修改程序? 展开
1个回答
展开全部
你把text1.addActionListener(this);换成
text1.addActionListener(
new Actionlistener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==text1){
s=text1.getText();
if(s=="red"){
text2.setText("红色");
}
else if(s=="红色"){
text2.setText("red");
}
}
}
});
用内部匿名类或者重新自定义一个集成ActionLister的类
.addActionListener(ActionListener);方法内参数必须类型是ActionListener类,这里你直接用了this,this指这个Question5_8这个类本身,而这个类继承的是applet,使用的接口时ActionListener,所以会不能正常出结果
text1.addActionListener(
new Actionlistener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()==text1){
s=text1.getText();
if(s=="red"){
text2.setText("红色");
}
else if(s=="红色"){
text2.setText("red");
}
}
}
});
用内部匿名类或者重新自定义一个集成ActionLister的类
.addActionListener(ActionListener);方法内参数必须类型是ActionListener类,这里你直接用了this,this指这个Question5_8这个类本身,而这个类继承的是applet,使用的接口时ActionListener,所以会不能正常出结果
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询