Java TextField getText()给我一个字符串,我可以';无法比较
我想控制字符串形式的文本字段何时为空。下面是带有简单Swing界面的代码:Java TextField getText()给我一个字符串,我可以';无法比较,java,string,swing,listener,textfield,Java,String,Swing,Listener,Textfield,我想控制字符串形式的文本字段何时为空。下面是带有简单Swing界面的代码: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Try{ public static void main(String[] args) { JFrame frame = new JFrame(); JPanel panel = new JPanel(); panel.setLayout
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Try{
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setLayout(null);
JTextField text = new JTextField();
JButton button = new JButton("ok");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String get = "";
get = text.getText();
if ( get == "" ) System.out.println("Is not empty");
else System.out.println("Is empty");
}
});
panel.add(text);
text.setBounds(0, 0, 50, 20);
panel.add(button);
button.setBounds(60, 0, 50, 20);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(100,100);
frame.getContentPane().add(panel);
frame.setVisible(true);
}
}
但是,如果你在文本字段中填充了一些内容,然后按下ok按钮,那么if将始终打开“为空”。。。所以,if总是假的
怎么了 要比较字符串,必须使用
.equals(String)
函数
字符串是一个对象,因此==
会比较两个字符串的对象引用
但您需要的是比较字符串值
你应该使用
if ( "".equals(get) ) System.out.println("Is not empty");
要比较字符串,必须使用
.equals(String)
函数
字符串是一个对象,因此==
会比较两个字符串的对象引用
但您需要的是比较字符串值
你应该使用
if ( "".equals(get) ) System.out.println("Is not empty");
请尝试:
if (yourJTextField.getText().equals(""))
{
...
}
请尝试:
if (yourJTextField.getText().equals(""))
{
...
}
当您通过代码确定它不为空时,打印“为空”。当您通过代码确定它不为空时,打印“为空”