gpt4 book ai didi

java - 将文本字段值转换为字符数组

转载 作者:行者123 更新时间:2023-12-01 11:44:14 25 4
gpt4 key购买 nike

我需要能够将文本字段的输入设置为字符数组。我尝试从文本字段获取文本并将其设为字符串,然后将该字符串转换为字符,但这不起作用。

我在这一行收到错误:String string = TextField.getText();
该错误表明我:无法从 textComponent 类型对非静态方法 getText() 进行静态引用

我不太确定我哪里出了问题,因此我们将不胜感激。

package lab4;

import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import lab3.FontSize;
import lab3.Calculator.event;

public class Scrolling extends JFrame{


JLabel label;
JTextField Textfield;
JPanel panel;
public String string;

public static void main (String[]args){

Scrolling scroller = new Scrolling();
scroller.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
scroller.setTitle("Marquee scroller");
scroller.setSize(1500,750);
scroller.setVisible(true);
scroller.setLayout(new GridLayout(2,1));
}

public Scrolling() {

JPanel panel1 = new JPanel();
panel1.setLayout(new GridLayout(1,2));
panel1.setSize(1500, 300);

JLabel label = new JLabel("Enter text and press return");
label.setVisible(true);
label.setFont(label.getFont().deriveFont(30.0f));
label.setHorizontalAlignment(JLabel.CENTER);
panel1.add(label);


JTextField TextField = new JTextField();
TextField.setVisible(true);
TextField.setFont(TextField.getFont().deriveFont(30.0f));
TextField.setHorizontalAlignment(JTextField.CENTER);

panel1.add(TextField);

JPanel panel2 = new JPanel();
panel2.setLayout(new GridLayout(1,10));


Label[] labelArray = new Label[10];
for(int i = 0; i < 10; i ++){
labelArray[i] = new Label("");
labelArray[i].setBackground(Color.white);
labelArray[i].setAlignment(Label.CENTER);
labelArray[i].setFont(new Font("Serif", Font.BOLD, 30));
labelArray[i].setText("1");
panel2.add(labelArray[i]);
}

add(panel2);
add(panel1);

event e = new event();
TextField.addActionListener(e);
}



public class event implements ActionListener {

public void actionPerformed(ActionEvent e) {

String string = TextField.getText();
char[] charArray = string.toCharArray();

}
}



}

最佳答案

JVM 会将对象名称与类混淆,在 Java 中,强烈建议不要以大写开头变量或对象名称

您必须引用 TextField 的实例,而不是类本身,重命名:

JTextField TextField = new JTextField();

JTextField mTextField = new JTextField();
// ^note lowercase to start variable name

请记住重命名代码中的所有事件,然后您将执行以下操作:

String string = mTextField.getText();

关于java - 将文本字段值转换为字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29283074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com