【发布时间】:2019-05-11 05:22:41
【问题描述】:
所以我有两个简单的jframe,一个是主框架,另一个只有在按下按钮时才可见。
我现在要做的是在第二个jframe中显示正在按下的按钮,无论是第一个jframe的jlabel中的玩具还是食物.
第一个jframe中的按钮启动选择会链接到第二个jframe,然后用户点击两个按钮中的一个,被点击的按钮会显示在jlabel中,如“玩具按钮被点击”
我实现了两个 jframe 的链接方式:
class SelectionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
Object_Selection object_select = new Object_Selection(); //launch the second jframe
object_select.setVisible(true);
}
}
但是我在显示第一个 jframe 的 jlabel 中的第二个 jframe 中按下了哪个按钮时遇到了问题。
【问题讨论】:
-
您需要将
ActionListener添加到Toy 和Food 按钮。或者,您是否考虑过使用JOptionPane而不是第二个JFrame? -
@Abra 我计划在第二个 jframe 中添加更多元素,例如图片、描述和其他内容,所以我应该使用 jframe。
-
1) 为了尽快获得更好的帮助,edit 添加minimal reproducible example 或Short, Self Contained, Correct Example。 2) 参见The Use of Multiple JFrames, Good/Bad Practice?第二个“框架”应该是
JOptionPane,它提供了两种选择。 -
你可以在 fmain
JFrame中有一个ActionListener类,例如:class ToyListener implements ActionListener并将它的引用发送到第二个JFrame:Object_Selection object_select = new Object_Selection(new ToyListener())。 -
做什么?发帖minimal reproducible example 让帮助更轻松。