1

在所有主要的 Java IDE 中,都有一个 GUI 设计器。当我们选择一个组件(Jbutton例如 A )并将其移动到 a JPanelorJFrame时,它是如何完成的?
它是在另一个容器上创建的拖动组件的副本吗?

在我正在进行的一个项目中,我有一些JButton我希望能够拖到面板上。这些JButton代表一些动作,例如“复制文件”,“移动文件”等......
当其中一个JButton被拖动时,将显示该动作的一些选项。

我查了TransferHandler,但我不知道这是否是要走的路。是吗?

4

1 回答 1

3

这当然是可能的。您需要学习拖放教程。特别是,您可能希望实施此处讨论的放置位置渲染,以象征动作。

通过将按钮的名称、图标、侦听器等封装在一个Action通过在实例importData(),您的实现可以轻松地用于setAction()动态更改目标按钮的行为。

另一种方法可能是将按钮添加到JToolBar. 在正常模式下,单击按钮会唤起Action; 在编辑器模式下,单击按钮将再次通过更改为从列表中选择的一个。ActionsetAction()

于 2012-11-09T20:01:15.047 回答