JAVA将文本放入JTextfield
我正在编写这个程序,最终我将从多维数组中获取信息到JTextfields中,这些信息将取决于用户在item2中输入的内容。我的问题是我无法将任何类型的数据从theHandler类获取到JTextfields中。我尝试使用setText,但它告诉我它不能将void更改为string。我也可以使用piezas的Handler类中的值,并在GUI上使用它,但我不能将值从piezas返回到GUI。我不知道该怎么办。我已经准备好了数组,我只需要获取同一个类上的值来编写一个开关,这样我就可以在JTextfields中获取信息 因此,基本上,我需要将piezas值从Handler类获取到Gui类中,或者能够从Handler类在JTextfields中输入文本 谢谢你的帮助 我正在创建一个JTextField,如下所示:JAVA将文本放入JTextfield,java,swing,jtextfield,Java,Swing,Jtextfield,我正在编写这个程序,最终我将从多维数组中获取信息到JTextfields中,这些信息将取决于用户在item2中输入的内容。我的问题是我无法将任何类型的数据从theHandler类获取到JTextfields中。我尝试使用setText,但它告诉我它不能将void更改为string。我也可以使用piezas的Handler类中的值,并在GUI上使用它,但我不能将值从piezas返回到GUI。我不知道该怎么办。我已经准备好了数组,我只需要获取同一个类上的值来编写一个开关,这样我就可以在JTextfi
JTextField item1 = new JTextField(10);
在这里,我尝试设置文本:
String setValue = item1.setText("text");
这不管用。为什么?
关于我的编辑:完整的代码被注释掉,而不是删除。
-MightyWorksetText是正确的选择,只是你用了一种奇怪的方式
String setValue = item1.setText("text");
setText没有返回值,因此出现关于void的错误。
不能将void指定给变量
请尝试以下方法:
或者,如果需要该值:
String setValue = "text";
item1.setText(setValue);
或:
在编辑之前,我复制了您的原始代码。TerminalVenta类应该如下所示:
JTextField item1 = new JTextField(10);
TerminalVenta.java
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class TerminalVenta {
public static void main (String[] args){
new TerminalVenta().start();
}
public void start() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}
public void createAndShowGUI() {
Gui ob = new Gui();
ob.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ob.setSize(700,300);
ob.setVisible(true);
}
}
处理程序类:
public class thehandler implements ActionListener {
public void actionPerformed(ActionEvent event) {
String piezas = item2.getText();
item1.setText(piezas);
}
}
请注意,我从您的原始代码中保留了这个类的名称。但这个班级并没有坚持这个原则
使用item1.setTextitem2.getText;有效。为了便于将来参考,请只粘贴有问题的代码,而不是整个程序,因为您可能会发现,没有人会费心扫描所有无意义的代码行,最终不会回答问题。在方法调用中进行赋值太糟糕了!应该避免的,我认为只是口味的问题。但我也会添加另一个选项。
public class thehandler implements ActionListener {
public void actionPerformed(ActionEvent event) {
String piezas = item2.getText();
item1.setText(piezas);
}
}