繁体   English   中英

将jFrame更改为jDialog?

[英]Change jFrame to jDialog?

我一直在尝试将jFrame更改为jDialog,因此它继承了主窗口的图标,但我不知道如何做到这一点。 我尝试从public class jSemestriala extends javax.swing.JFrame设置它的代码public class jSemestriala extends javax.swing.JFramepublic class jSemestriala extends javax.swing.JDialog但是没有改变窗口的图标。 有任何想法吗? 我正在使用NetBeans 7.0.1

JDialog从所有者框架中获取其图标。 您有两种选择:

  1. 创建一个不可见的JFrame,将图标设置为它并将该框架设置为对话框的所有者。
  2. 创建对话框,获取所有者,并为其设置图标。

我会选择第一个选项,对我来说似乎更安心。 第二个使用对话框的(共享)所有者。 这可能会导致副作用。

进一步阅读

但是,如果您已经有一个主框架,则只需在对话框的构造函数中将其设置为所有者。

您需要将“主窗口”框架指定为JDialog的所有者:

// ownerframe is a JFrame;
JFrame ownerframe = new JFrame();
JDialog dlg = new JDialog(ownerframe);

JDialog拥有所有者框架。 如果调用构造函数new JDialog() ,则为您创建框架,在这种情况下框架是不可见的; 或者使用new JDialog(ownerframe)其提供给构造函数中的对话框。

  • 创建一个新的jdialog

  • 从jframe的设计视图中硬拷贝组件(你可以使用导航窗口清楚地复制所有组件。当然只需复制jframe下的组件)

  • 将其粘贴在jdialog上(再次使用导航窗口。在jdialog下粘贴)

  • 从jframe的源代码窗口硬拷贝源代码将其粘贴到jdialog的源代码中

  • 如果需要,请不要触摸自动创建的代码,使用设计窗口再次添加它们。

  • 用你的眼睛和手修复新jdialog的源代码窗口中的错误:)

  • 记住所有时间:小心选择类形式的类型。

对不起我的英语不好。
它可能需要很长时间,但它会工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM