【问题标题】:Creating JDialog with GUI swing JFrame as its parent?以 GUI swing JFrame 作为其父级创建 JDialog?
【发布时间】:2020-04-11 15:53:21
【问题描述】:

这可能是一个非常愚蠢的问题,但我就是不知道该怎么做。

我使用 swing GUI 来创建我的 JFrame。所以是public class client extends javax.swing.JFrame

在我正在做的主要方法中:

public void run() {
    new Client().setVisible(true);
}

当一个按钮被点击时,我想这样做:

JDialog d = new JDialog(frame, "Example", true);

除了我不知道“框架”是什么。我试着说客户,但这没有用。应该去那里,以便我的 JDialog 的父级是我从中调用它的框架?

【问题讨论】:

  • 如果您定义 JDialog d 处的“this”变量引用您的 JFrame,那么您应该用“this”替换 frame 变量。 JFrame 是您的 JDialog d 的 owner 而不是它的父级。仅对其超类使用“父级”一词。

标签: java swing jframe jdialog


【解决方案1】:

当一个按钮被点击时,我想这样做:

您必须在按钮上添加了ActionListenerActionEvent 将包含您单击的源对象。

所以你可以在ActionListener中编写通用代码来获取按钮的父Window:

JButton button = (JButton)event.getSource();
Window window = SwingUtilities.windowForComponent( button );
JDialog d = new JDialog(window, "Example", true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 2012-04-17
    • 2019-03-11
    相关资源
    最近更新 更多