【发布时间】:2015-12-23 14:02:29
【问题描述】:
我想知道如何在用户按下按钮后运行一段代码。在这种情况下,我要求用户在文本字段中输入他们的姓名(如下所示)
TextField textField = new TextField();
textField.setBounds(104, 271, 517, 48);
contentPane.add(textField);
然后在用户单击“下一步”后,我希望 GUI 移动到另一行更改 GUI 布局的代码。
我假设我需要在这里放一些东西,然后在其他地方运行另一行代码,
JButton Next = new JButton("Next");
Next.addMouseListener(new MouseAdapter() {
@Override
//Would I need to put something here?
public void mouseClicked(MouseEvent e) {
}
});
详情
我想做的是创建一个游戏。我希望用户能够输入他们的姓名,然后我希望用户能够单击一个显示“下一步”的按钮,然后一旦按下该按钮,我希望 Java 程序中的内容发生变化。即,将文本更改为其他内容。
在用户输入他们的游戏详细信息(名称、首选类别、性别等)后,我会删除组件,然后有一个图像,在某个时候,它们的健康状况。
【问题讨论】:
-
看起来你的做法是错误的。解释你想要做什么并向我们展示 GUI 的样子。更改 GUI 布局的按钮听起来很可疑。
-
在我看来,您需要
CardLayout或JDialog/JOptionPane来获取初始详细信息,然后才显示主框架。 -
那么最好的办法就是学习如何手动编写代码。我在你之前的问题中链接了教程。
-
不要使用空布局(即 setBounds)。而是使用Layout Managers 或它们的组合。此外,您的变量名称应以小写字母开头,请参阅naming conventions。而不是使用 TextField 尝试使用 Swing 的 JTextField
-
"
TextField textField .." 应该是JTextField textField ..(使用基于 Swing 的文本字段,而不是 AWT 的!)。为了尽快获得更好的帮助,请发布minimal reproducible example 或Short, Self Contained, Correct Example。但我不得不说我同意 @Frakcool 和 user1803551 关于使用布局的观点。