在我看来,到目前为止,JFrame中发生的一切都留在JFrame中。(可能应该进入JavaFX而不是Swing)
假设您有一个 JFrame 类 (gui_frame),它利用 JButtons 和一个名为 HandlerClass 的嵌套类来实现 ActionListener,如下所示:
public class gui_frame extends JFrame {
private JButton button1;
public gui_frame() {
super("Title");
setLayout(new FlowLayout());
button1 = new JButton("Hello");
add(button1);
HandlerClass handler = new HandlerClass();
button1.addActionListener(handler);
}
private class HandlerClass implements ActionListener{
public void actionPerformed(ActionEvent e){
//insert code here
}
}
}
然后你有主代码,它调用这个gui_frame类。
public class main {
public static void main(String[] args){
//insert some unrelated code here
gui_frame gf = new gui_frame();
gf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gf.setSize(400,75);
gf.setVisible(true);
String button_name;
//insert some code that uses button_name
}
}
本质上,我试图在运行时将被单击后的按钮名称存储在JFrame类gui_。
这可能吗?为了实现这一点,我需要在gui_frame的actionPerformed方法中插入什么?
有几种方法可以做到这一点:
> < li>
在主类中将ActionListener实现为lambda(顺便说一下,应该大写,即“main”),并将lambda传递给gui_frame类(同样,应该是“GuiFrame”),并让GuiFrame类将侦听器应用于按钮
为GuFrame类创建一个接口,用于通知Main类按钮已被单击(以及按钮的名称)。让Main类实现该接口,然后将Main的实例传递给GuFrame类。然后让GuFrame的ActionListener调用Main类接口中的方法来通知它。
在GuiFrame类中存储最后单击的按钮的名称,并让主类在需要时请求它(如果它不需要知道按钮何时被单击)。
问题内容: 正在尝试在Python中进行系统调用,并将输出存储到我可以在Python程序中操作的字符串中。 我已经尝试了一些方法,包括此处的一些建议: 问题答案: 在Python 2.7或Python 3中 Popen你可以使用函数将命令的输出存储在字符串中,而不是直接创建对象: 在Python 2.4-2.6中 使用方法。 是你想要的。 有关其他答案的重要说明 请注意我如何传递命令。该示例提出了
问题内容: 如何获取并将其存储到变量中?我想在程序中使用稍后生成的字符串。 我对Java还是很陌生,所以我不太熟悉我认为它将是解决方案。或者,如果您有其他任何想法,请告诉我。谢谢 问题答案: 遵循以下原则 应该是您所需要的。 相关文件: StringWriter 打印作家 可投掷
我正在创建一个使用服务代理运行多个模块的流程。这些模块将在流程结束时返回一个字符串,初始服务代理调用将返回并打印该字符串。但是,我来自流程构建器的进程没有返回我的字符串。我放置了print语句来告诉我不同模块何时运行,它打印正确的答案,但不会将其作为字符串返回给服务代理。 服务经纪人 翻译 文本代理 SB被赋予参数{"Trans,"german.txt, dog,="},它将[1]字符串传递给翻译
我有一个名为samparr的数组[字符串],其中包含一些值,我希望它存储为输出文件。 就像, 但RDD不是数组吗[字符串]
我想为Spring Cache执行以下操作。 > 检查传递的字符串是否存在于缓存中。如果存在,则返回true,如果不存在,则添加到缓存;checkInCache(字符串str) 从缓存逐出字符串(String str) 尝试如下 @组件公共类FlightCache{ 并在配置类上添加了@EnableCaching注释。 错误:
问题内容: 我有一个函数的返回类型为VOID,它直接在控制台上打印。 但是,我需要字符串形式的输出,以便可以对其进行处理。 由于我无法使用返回类型为VOID的函数进行任何更改,因此我不得不将该输出重定向到字符串。 如何在JAVA中重定向它? 关于将stdout重定向到字符串有很多问题,但是它们仅重定向从用户获取的输入,而不重定向某些函数的输出… 问题答案: 如果功能正在打印到,则可以使用更改为你提