在Netbeans向导中使用JFrame代替JDialog

5
我使用Netbeans向导框架构建了一个应用程序,如此处此处所述。我的应用程序可以正常工作,但问题是它不会显示在Windows任务栏中。我很确定问题是向导框架使用JDialog而不是JFrame,但我无法确定是否可以更改。如果有人对这个框架有经验,请告诉我它是否可以在任务栏中显示。

虽然生成图形界面的工具可以节省很多代码行,但并不总是最佳选择,特别是当您需要自定义某些内容时。我并不反对使用这些工具,只是它们在Java中没有得到很大的改进。在.NET中则是另一回事了。 - Paul Vargas
2个回答

4

修改很容易。

  • 在NetBeans中打开窗体。
  • extends javax.swing.JDialog改为extends javax.swing.JFrame
  • 保存文件并关闭。
  • 重新打开文件。
  • 在设计器模式下进行更改。我通常只改变一个组件的名字。
  • 保存文件。
  • 撤销更改并再次保存文件。

您应该已经完成了所有设置。


你可能需要调整构造函数(默认的构造函数带有JDialog的模态布尔值)。你可能还想创建一个新的JFrame表单,并复制它用于启动JFrame的public static void main(String[])方法,然后删除你生成的类。 - BillRobertson42
请定义一下“表单”。我不确定你指的是什么。 - ewok
NetBeans将可图形编辑的GUI称为“表单”,因为它们由一个.java文件和一个.form文件组成,后者是GUI的XML描述。当您打开一个表单时,您会在编辑窗口左上角看到一个源代码/设计切换按钮。 - Devon_C_Miller

1
Wizard Framework使用JDialog而不是JFrame,但我无法确定是否可以更改。
不要使用多个JFrames,这是通往地狱的道路,您无法设置setToFront、setOwner、iconify等等...
使用JDialog或JWindow代替,并将其父级设置为单个JFrame。
使用未装饰的JDialog,带有setModal()或可能设置各种ModalityTypes。
如果有人对此框架有经验,请告诉我它是否可以出现在任务栏中。
这个Swing Framework已经过时了。
您可以重复使用SplashScreen而不是JDialog/JWindow。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接