0
我不知道我在做什麼錯在這裏。我試圖用JFrame創建一個基本的命令行,將來我想創建一些基於用戶輸入的函數,但是,當我嘗試將ActionCommand與一個字符串或變量進行比較時,它似乎不工作:Java getActionCommand()無法與使用If語句的字符串進行比較?
`
import javax.swing.*;
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class GUI extends JFrame{
private JTextField cmd;
public GUI(){
super("Command Line V2"); //Window title
setLayout(new FlowLayout()); //Set layout
cmd = new JTextField("Enter Command"); //Make cmd a JTextField
add(cmd); //Add cmd to the screen
//Adding action listeners
cmdHandler handler = new cmdHandler();
cmd.addActionListener(handler);
}
private class cmdHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
String butt = "Whut";
if(event.getSource()==cmd){
if(event.getActionCommand()==butt){
System.out.println("Yay");
}else{
System.out.println("uh dear");
System.out.println(event.getActionCommand());
}
}
}
}`
這是GUI.java頁面,但只是櫃面它的需要,這裏的main.java頁:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.FlowLayout;
public class Main {
public static void main(String args[]){
GUI g = new GUI();
g.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
g.setSize(275,180);
g.setVisible(true);
g.setResizable(false);
}
}
打開時,打開一個窗口並出現一個JTextBox:一旦我在命令行EXACT中寫入,「輸入命令」 LY如果if語句試圖比較「event.getActionCommand()」,它仍然會輸出「呃親愛的」(如果它沒有和任何東西進行比較,這就是它的作用)
我應該怎麼做解決這個問題?謝謝。