我需要使用包含5个文本字段和ok和取消按钮的Swing制作Java applet。这是我的尝试,但它不起作用!它有什么问题?我还没有添加HTML。
import java.awt.FlowLayout;
import java.awt.event.*;
import javax.swing.JApplet;
import javax.swing.JTextField;
import javax.swing.JButton;
public class MyApplet extends JApplet {
JButton okButton = new JButton("Okay");
JButton cancelButton = new JButton("Cancel");
public void init(){
this.getContentPane().setLayout(new FlowLayout());
JTextField f1 = new JTextField("This is a text field");
field.setEditable(false);
add(field);
JTextField f2 = new JTextField("This text is read only");
field.setEditable(false);
add(field);
JTextField f3 = new JTextField("Press okay");
field.setEditable(false);
add(field);
JTextField f4 = new JTextField("or press cancel");
field.setEditable(false);
add(field);
JTextField f5 = new JTextField("Have a nice day!");
field.setEditable(false);
add(field);
okButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("Okay");
}
});
getContentPane().add(okButton);
cancelButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("Okay");
}
});
getContentPane().add(cancelButton);
}
}
答案 0 :(得分:4)
您正在使用从未定义但不存在的变量,特别是field
变量。相反,使用您创建的变量,如f1,f2,...
即改变这个:
JTextField f1 = new JTextField("This is a text field");
field.setEditable(false); // where is field defined??
add(field); // ditto
到此:
JTextField f1 = new JTextField("This is a text field");
field.setEditable(f1);
add(f1);
类似于下面的类似问题。
将来,请告诉我们您的代码存在哪些问题,以便我们无需猜测。显示所有完整的错误消息,并描述所有不当行为。
答案 1 :(得分:0)
只需将field
变量替换为f1
,f2
等等,您应该没问题。
例如:
JTextField f1 = new JTextField("This is a text field");
f1.setEditable(false);
add(f1);
JTextField f2 = new JTextField("This text is read only");
f2.setEditable(false);
add(f2);
.
.