好的,这就是我有的东西
jTextField1.setBounds(136, 24, 17, 17);
jTextField1.setEditable(false);
jTextField1.setText("x");
jTextField1.setBorder(javax.swing.BorderFactory.createEmptyBorder());
jTextField1.setHorizontalAlignment(SwingConstants.CENTER);
jTextField1.setFont(new Font("Dialog", Font.PLAIN, 16));
jTextField1.setBackground(Color.WHITE);
jTextField1.setOpaque(false);
cp.add(jTextField1);
[...]
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "+") {
plus = true; // [...]
如果e.getActionCommand()= +我想更改jTextField的文本。那可能吗?有什么替代品? thx提前
答案 0 :(得分:-1)
编辑:您已经使用了JTextField的setText()方法。为了能够从ActionListener的ActionPerformed()方法中访问JTextField,JTextField变为全局。
ActionLister及其代码可能如下所示:
package jTextField;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class SetTextOfJTextField extends JFrame implements ActionListener{
boolean plus = false;
JPanel panel = new JPanel();
JTextField jTextField1;
public static void main(String[] args){
new SetTextOfJTextField();
}
public SetTextOfJTextField(){
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
jTextField1 = new JTextField(10);
jTextField1.setEditable(false);
jTextField1.setText("x");
jTextField1.setBorder(javax.swing.BorderFactory.createEmptyBorder());
jTextField1.setBackground(Color.WHITE);
jTextField1.addActionListener(this);
jTextField1.setEditable(true); // this is necessary so the text can be changed by the user!
JButton button = new JButton("OK");
button.addActionListener(this);
/* configure JFrame / Jpanel*/
panel.add(jTextField1);
panel.add(button);
this.add(panel);
this.pack();
this.setSize(200,200);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
System.out.println("ouch! dont click me!");
if (jTextField1.getText().equals("+")) {
plus = true;
System.out.println("received plus!");
// change text of jTextField1
jTextField1.setText("hi i am new text!");
}
else{
jTextField1.setText("");
}
}
}
现在运行代码。如果在“文本字段”中输入+号并按“确定”,则文本将更改。再次按下OK按钮,文本将被重置。 快乐的编码!