gpt4 book ai didi

java - 对依赖 Java 类的更改只有在触及 Main .java 文件后才会生效

转载 作者:太空宇宙 更新时间:2023-11-04 14:47:12 27 4
gpt4 key购买 nike

我对此进行了大量搜索..我有一个可以用这段代码总结的问题:

item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

JDialog ui = new RandomDialog();
}
});

item 只是一个菜单项,RandomDialog 是一个扩展 JDialog 的类。

每次我在 RandomDialog 类中进行更改时,我都必须将 ui 声明从 JDialog“更新”为 RandomDialog ,然后反之亦然。

问题是什么?

[编辑]

我有一个 JFrame,带有 JMenuBarJMenuItem。其中一个项目有一个像上面那个一样的听众。我想在按下该项目时打开一个 JDialog 。发生的情况是,每次我对表示 JDialog 的类(扩展 JDialog 的单独类)的代码进行更改时,除非我更改JDialog 的声明。所以想象一下我有这样的声明:

JDialog ui = new RandomDialog();

如果我做出改变,我必须这样写:

RandomDialog ui = new RandomDialog();

接下来我必须再次输入:

JDialog ui = new RandomDialog();

等等,等等......

最佳答案

通过将 JDialog 更改为 RandomDialog,然后返回 JDialog,您不会更改代码,但会更改文件的时间戳。这会导致您的构建系统从 Java 文件重建 .class 文件,构建 .jar 文件,然后可能将其部署到服务器,具体取决于您的配置方式设置。

问题的原因是您的构建系统没有意识到该文件(带有JMenuItem)依赖于另一个文件(带有RandomDialog),因此发生了变化RandomDialog 不会导致重建完成。

要解决这个问题,您需要查看您的项目结构。您还没有描述代码是如何构建的。通常,如果您使用 IDE,它可以让您管理项目依赖项。

关于java - 对依赖 Java 类的更改只有在触及 Main .java 文件后才会生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24268408/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com