Java 将值从一个JtextField传递到另一个JtextField?
//java swing新手,需要帮助获取第一个Jtextfield中的文本以显示在//第二个Jtextfield????我很年轻,刚开始学习java,需要一些帮助。下面是我已经完成的代码,谢谢Java 将值从一个JtextField传递到另一个JtextField?,java,swing,jtextfield,settext,Java,Swing,Jtextfield,Settext,//java swing新手,需要帮助获取第一个Jtextfield中的文本以显示在//第二个Jtextfield????我很年轻,刚开始学习java,需要一些帮助。下面是我已经完成的代码,谢谢 import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BorderFactory; import javax.swing.JBu
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class lab4 extends JFrame implements ActionListener {
int numClicks = 0;
String text = null;
public lab4() {
setSize(1200, 700);
setVisible(true);
JButton button = new JButton("Hello i am a button");
button.addActionListener(this);
JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 2));
panel.add(button);
this.add(panel);
JMenuBar menubar = new JMenuBar();
this.setJMenuBar(menubar);
JMenu file = new JMenu("File");
menubar.add(file);
JMenuItem open = new JMenuItem("Open File");
file.add(open);
final JTextField myField = new JTextField(10);
myField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String text = myField.getText();
//System.out.println("Hello");
}
});
final JTextField myField2 = new JTextField(10);
yField2.setText(myField.getText());
panel.add(myField);
panel.add(myField2);
setVisible(true);
}
}
public static void main(String[] args) {
new lab4();
}
public void actionPerformed(ActionEvent e) {
numClicks++;
System.out.println("The button has been clicked " + numClicks + " times");
}
}
是的,你做得很好。如果在一个操作事件上有多个工作将按顺序发生,则需要将该顺序放入相应的
actionPerformed
函数中。因此:
myField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String text = myField.getText();
myField2.setText(text);
}
});
JComponents监听器意味着它们只会在动作事件发生时进行监听和响应。他们将收到注册到事件源(jcomponent
)的ActionListener实例的通知,该实例使用您所做的addActionListener()
函数
还有一点需要注意:在声明任何语句中的字段之前,都不能访问它。编译器在对字段进行任何操作之前,需要了解该字段的相关信息。因此,您必须在访问myField2的代码之前声明它,例如,myField1
的匿名类
ActionListener
actionPerformed
函数
教程资源:
是的,你做得很好。如果在一个操作事件上有多个工作将按顺序发生,则需要将该顺序放入相应的actionPerformed
函数中。因此:
myField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String text = myField.getText();
myField2.setText(text);
}
});
JComponents监听器意味着它们只会在动作事件发生时进行监听和响应。他们将收到注册到事件源(jcomponent
)的ActionListener实例的通知,该实例使用您所做的addActionListener()
函数
还有一点需要注意:在声明任何语句中的字段之前,都不能访问它。编译器在对字段进行任何操作之前,需要了解该字段的相关信息。因此,您必须在访问myField2的代码之前声明它,例如,myField1
的匿名类
ActionListener
actionPerformed
函数
教程资源:
您可以共享模型:
JTextField textField1 = new JTextField(...);
JTextField textField2 = new JTextField(...);
textField2.setDocument( textField1.getDocument() ):
现在,每当您在任一文本字段中键入文本时,另一个文本字段也将被更新。您可以共享模型:
JTextField textField1 = new JTextField(...);
JTextField textField2 = new JTextField(...);
textField2.setDocument( textField1.getDocument() ):
现在,每当您在其中一个文本字段中键入文本时,另一个文本字段也将被更新。就像旁注一样,您的main
和actionPerformed
方法在主类主体之外声明,并且您有一个额外的}
,这意味着您的代码甚至不会编译…就像旁注一样,您的main
和actionPerformed
方法在主类主体之外声明,您还有一个额外的}
,这意味着您的代码甚至无法编译……祝贺100k
;)谢谢,我只花了1151天。。。和计数;)祝贺100k
;)谢谢,我只花了1151天。。。和计数;)