我想在按下Enter按鈕時組合兩個字符串。Java - 添加輸入按鈕
此外,當我從TextField Tab鍵到按鈕它的作品時,我推空間,但沒有回車。這對Java來說很正常嗎?
我的代碼如下所示:
(評論在德國,所以你可以不理會他們,如果你不理解的語言)
package demo; // Gehört zum Paket demo
import java.awt.*; // Abstract Windows Toolkit importieren
import java.awt.event.*; // Abstract Windows Toolkit Events importieren
import javax.swing.*; // Swing importieren
/** @author
@version 1.0*/
public class strings extends JFrame implements ActionListener{ // Klasse strings auf public gesetzt - erweitert mit JFrame - implementiert Action Listener
JButton but1; // Indiziert Button (für GUI)
JTextField tfstring; // Indiziert TextFeld (für GUI)
JTextField tfstring2; // Indiziert TextFeld (für GUI)
JTextField endstring; // Indiziert Ausgabefeld (für GUI)
String str1; // Indiziert String
String str2; // Indiziert String
String fullstring; // Indiziert Ausgabe für beide Strings
public strings() { // Konstrukt strings auf public gesetzt
JFrame frame = new JFrame("Strings"); // Neues Fenster mit Titel (für GUI)
JPanel Panel = new JPanel(); // Container erstellen
JLabel label = new JLabel("Ihr String 1:"); // Text einfügen
Panel.add(label); // Label in Pannel einfügen
tfstring = new JTextField("", 15); // Textfeld erstellen (für GUI)
Panel.add(tfstring); // Text Feld String in Panel einfügen
JLabel label2 = new JLabel("Ihr String 2:"); // Textfeld erstellen (für GUI)
Panel.add(label2); // Label in Panel einfügen
tfstring2 = new JTextField("", 15); // Textfeld erstellen (für GUI)
Panel.add(tfstring2); // Text Feld String in Panel einfügen
but1 = new JButton("OK"); // Button erstellen
but1.addActionListener(this); // Methode für den Button erstellt
Panel.add(but1); // Button in Panel einfügen
JLabel label3 = new JLabel("Fertiger String:"); // Ausgabefeld erstellt
Panel.add(label3); // Label in Oannel ainfügen
endstring = new JTextField("", 20); // textfeld für Ausgabe
endstring.setEditable(false); // Sperrt Ausgabefeld
Panel.add(endstring); // Fertiger String in Panel einfügen
frame.add(Panel); // Panel hinzufügen
frame.setSize(900,75); // Grösse des Fensters
frame.setVisible(true); // Panel sichtbar machen
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Standart Operation beim Schliesen des Fensters erstellt
}
public static void main(String[] args) {
// TODO Auto-generated method stub
strings st = new strings(); // Konstruktor ins main einbinden
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource() == this.but1){ // Methode für Button festlegen
str1 = tfstring.getText(); // String 1 nimmt Text von tfstring
str2 = tfstring2.getText(); // String 2 nimmt Text von tfstring 2
fullstring = str1 + str2; // Ausgabe beider Strings aus String 1 und String 2 zusammensetzen
endstring.setText((fullstring)); // Fertiger String nimmt Text von der Ausgabe beider Strings
}
}
}