构建复合小部件与JSNI组件
1. 从其他复合小部件创建复合小部件
可以将复合小部件像普通小部件一样处理,通过将其他复合小部件组合在一起,构建更复杂的小部件。以Dashboard的Colour Picker应用程序为例,它由两个复合小部件(两种不同形式的滑块)和一些普通小部件组合在几个不同的面板中构成。
以下是其具体结构:
- 整个复合组件构建在一个HorizontalPanel中。
- 从左到右,HorizontalPanel中依次插入了ColourPicker、VerticalSlider和一个VerticalPanel。
- VerticalPanel中填充了多个Label小部件,用于表示所选颜色的RGB值。
- ColourPicker和VerticalSlider本身也是复合小部件,由两个Image小部件创建(ColourPicker是GridSlider的一个实例)。
1.1 创建滑块
Slider类以一个图像作为背景,另一个图像放置在PopupPanel上。可以使用背景图像和缩略图创建滑块。对第6章中的拖动功能进行了一些修改,以限制在x或y平面上的拖动,并确保缩略图不会拖出背景图像的边界。以下是更新后的 onMouseDrag() 方法:
public void onMouseMove(Widget sender, int x, int y) {
if (dragging) {
absX = 0; absY = 0;
absX = x + getAbsolu
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



