gpt4 book ai didi

java - 非矩形 java UserControl

转载 作者:行者123 更新时间:2023-11-30 11:38:45 25 4
gpt4 key购买 nike

  • 在 .NET 中,UserControl 可能由控件组成,它可能是表单的一部分或更大的 UserControl 的一部分。可以使用 ToolBox Palette 使用可视化设计器设计用户控件。

  • 我发现 java BeanForm 是 .NET UserControl 的类比。

  • 我可以在 NetBeans 中使用可视化设计器设计 BeanForm

  • 在我的库中,我可以从任何其他库扩展 BeanForm,并且我可以使用 NetBeans 中的可视化设计器设计扩展的 BeanForm。

  • 在我的主项目中,我可以从 Palette 中选择我所有的 BeanForms 到我的框架上。

所以“BeanForm”是“UserControl”的 java 挂件。


在 .Net 中,我可以轻松地将我的 UserControl 塑造成鱼或星星或任何我喜欢的形状通过简单地设置 this.Region = new Region(graphicsPath)。


我知道 Java 不像 C# 那么简单,我发现 Java 示例部分描述了必要的步骤但是我没有找到 Shaped non-rectangular BeanForm Sample。


当然,使用新的特殊 mouseClicked(MouseEvent e) 扩展 MouseAdapter——正如许多示例所建议的那样——还不够——这只是第一步。

  • 他们是否都忘记了 Dragged-Event、Focus 事件、Mouse-Entered 事件、Mouse-Up 事件和 Mouse-Leave 事件以及所有其他典型的 JComponent 事件??? -这样的组件肯定不会表现像真正的Shaped JComponent应该表现的那样。

请给我一个 OvalComponent-BeanForm 的示例,它可以从 Palette 中提取到我的框架上,并且表现得像一个 REAL Shaped JComponent

它应该涵盖所有必要的鼠标事件和所有必要的 MouseMotion 事件以及所有拖放事件和所有按键事件,以防椭圆形获得焦点或鼠标位于椭圆形上方。

(例如,我应该能够使用 Oval 的鼠标事件并将 Oval 组件扩展为可以在框架内四处移动的 MovingOval 组件 ...)


如果这对您来说工作量太大,那么请概述并描述我必须实现的步骤 - 例如 MouseAdapter、KeyAdapter、DragDropAdapter 或任何必要的东西。

请指点我该怎么做!

非常感谢。

最佳答案

每个 java.awt.Shape 都有一个 contains() 方法,您可以在 MouseListener 中使用它进行 HitTest 鼠标适配器

关于java - 非矩形 java UserControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13536915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com