按下的 JButton 不适用于 JTextField
JButton pressed doesn't work with JTextField
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class guiDemo extends JFrame {
public static void main(String[] args) {
JFrame myGUI = new guiDemo();
myGUI.setSize(750, 600);
myGUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myGUI.setVisible(true);
JButton myButton = new JButton("Click Me");
myButton.setSize(300, 150);
myGUI.add(textField);
myGUI.add(myButton);
myGUI.setLayout(new FlowLayout());
JTextField textField = new JTextField("Hello GUI World!");
myButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String textInField = textField.getText();
textField.setForeground(Color.BLUE);
System.out.println(textInField);
}
});
}
}
我只想在按下按钮时在按钮上方的 JTextField 中显示文本。同时文字必须是蓝色的。我不完全知道如何在按钮上方获取文本。我认为这与 JPanel 有关但不是积极的。 oracle教程对我来说不是很容易理解。
输出是在控制台中打印我想要的文本,而不是我创建的容器。
JTextField textField = new JTextField("Hello GUI World!");
使用前必须声明 myGUI.add(textField);
编辑:
检查你的代码后,你应该把 myGUI.setVisible(true);
放在 main
函数的末尾。对我来说,它是这样工作的。
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class guiDemo extends JFrame {
public static void main(String[] args) {
JFrame myGUI = new guiDemo();
myGUI.setSize(750, 600);
myGUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myGUI.setVisible(true);
JButton myButton = new JButton("Click Me");
myButton.setSize(300, 150);
myGUI.add(textField);
myGUI.add(myButton);
myGUI.setLayout(new FlowLayout());
JTextField textField = new JTextField("Hello GUI World!");
myButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String textInField = textField.getText();
textField.setForeground(Color.BLUE);
System.out.println(textInField);
}
});
}
}
我只想在按下按钮时在按钮上方的 JTextField 中显示文本。同时文字必须是蓝色的。我不完全知道如何在按钮上方获取文本。我认为这与 JPanel 有关但不是积极的。 oracle教程对我来说不是很容易理解。
输出是在控制台中打印我想要的文本,而不是我创建的容器。
JTextField textField = new JTextField("Hello GUI World!");
使用前必须声明 myGUI.add(textField);
编辑:
检查你的代码后,你应该把 myGUI.setVisible(true);
放在 main
函数的末尾。对我来说,它是这样工作的。