0

默认情况下,Java 7 应用程序只有在您单击窗口顶部附近(如在 Windows 上)时才能在 Mac 上移动,但是如果我设置

toolbar.getRootPane().putClientProperty("apple.awt.draggableWindowBackground") 

然后我可以通过在工具栏上拖动来移动窗口。不幸的是,因为这个属性被应用到根窗格,然后只是一个根窗格,整个应用程序是窗口的一部分,无论我在哪里拖动它,我都希望能够在工具栏中拖动它。

我的应用程序的主要部分是一个 JTable,当我在此处拖动时,我真的不希望移动窗口,因为它会导致很多问题,例如我现在不能再通过拖动表格标题来按表格列重新排序,因为那只是移动整个窗口。我怎样才能限制运动。

  1. 只有 JToolbar
  2. 除了 Jtable 之外的任何地方

以最简单的为准。

4

1 回答 1

0

找到了一个解决方案,我将MacWidgets项目中的 UnifiedToolbar 与 Java 6 一起使用。自从迁移到 Java 7 并且不再使用 UnifiedToolbar 我看不到解决方案,但只需使用 WindowsDragger 类就可以很好地研究代码

IE

new WindowsDragger(frame, toolbar);
new WindowsDragger(frame, statusbar)

相比之下,“apple.awt.draggableWindowBackground”选项只有在对整个框架可拖动感到高兴时才真正有用。

于 2013-11-03T21:32:50.733 回答