【问题标题】:Java cascading JFramesJava级联JFrame
【发布时间】:2012-08-27 15:07:26
【问题描述】:

我有一个使用 NetBeans GUI 编辑器构建的扩展 javax.swing.JFrame 的类。 有没有办法在打开几个 JFrame 时使这个 JFrame 级联?

【问题讨论】:

  • 除非您从同一个程序中生成多个帧,否则您可能需要查看可能涉及本机库的进程 ID 或窗口标题。
  • @Onca 你是从同一个 JVM 打开不同的帧还是一次打开一个?
  • 来自同一个 JVM,都在一起。
  • 因为您似乎不仅选择了一个违反 X-plat 行为的答案,而且仅适用于单个 JVM,我将添加.. 见 The Use of Multiple JFrames, Good/Bad Practice?

标签: java swing jframe cascade


【解决方案1】:

【讨论】:

  • 请注意,无论 JVM 相同/不同,此方法的工作原理都应相同。
【解决方案2】:

只需在之前打开的JFrame 位置保留一个变量,然后为下一个位置保留一个变量:

newFrame.setLocation(previousLocation.x + constant, previoudLocation.y + constant);

getLocation() 将返回现有JFrame 在屏幕上的位置。

【讨论】:

  • OP 可能意味着应用程序的多个实例,即。不是来自同一个 JVM。
【解决方案3】:

JFrames 是顶级组件,它们不会嵌套。

如果您需要嵌套框架(即可以是另一个框架的子框架),请改用JInternalFrame

如果您需要在现有应用程序再次调用时创建新框架,请使用Socket 将新框架的参数从新应用程序发送到现有应用程序,然后退出新应用程序。

【讨论】:

  • 回复。最后一段。如果应用程序。使用 JWS 启动它可以使用 SingleInstanceService,如 this demo. 所示。
猜你喜欢
  • 2011-12-31
  • 1970-01-01
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
  • 2012-09-24
  • 2013-05-12
  • 2012-06-20
  • 1970-01-01
相关资源
最近更新 更多