我搜索了很多这个问题,但无法找到答案。我有三个JFrame对象的遗留系统。它们是在一个链中创建的:第一个JFrame是第二个的父级,第二个是第三个的父级。
问题是我关闭第三个窗口后,第一个窗口接收焦点,第二个窗口接近第一个窗口。而且错了。我希望在关闭第三个JFrame后,焦点将转到第二个窗口。可能是什么问题以及如何解决这个错误的行为?
代码看起来像这样:
Frame first = new JFrame(null, "first");
JDialog second = new JDialog(first, "second");
JFrame third = new JFrame(second, "third");
third.addWindowListener(new WindowAdapter() {
// request focus in second window when focus lost in third
});
答案 0 :(得分:-1)
在一个应用程序中使用多个JFrame对象是一种不好的做法。请参阅以下答案,这可能有助于更改您的实施。 https://stackoverflow.com/a/9554657/2239537