JUCE组件之Drawable详解

Component组件类只是一个可视的空白矩形区域(前提是paint()中绘制了背景,否则,组件默认是透明的),如果要显示图形图像等等,需在paint()函数中利用Graphics或Path等类的对象进行相关的描述、填充或绘制。而Drawable可绘制类则天然具有绘制的能力,其继承自Component类,相当于一个天然可绘制的组件,或者说,可进行自我绘制的组件。Drawable本身是一个抽象类,有多个派生的功能类,其继承层次如下图所示:

继续阅读JUCE组件之Drawable详解

GUI之基Component组件类详解

Component类是JUCE类库中最大的一个类,GUI编程的核心与基石。其派生类也最多,各类常规控件和界面构件(文档窗口、对话框、消息窗、工具栏、菜单、按钮、标签、组合框、列表框、文本框、推子、滚动条、选项卡等等)均是该类的派生类。

Component类具有矩形外观,可绘制和填充,可接收并响应鼠标进入、离开、点击、拖拽和键盘按键等事件(基于消息的产生与捕获),可拥有一到多个子组件,亦可被其它组件所容纳,常继承或组合其它类实现更复杂的功能(比如事件响应、捕获和处理)。

继续阅读GUI之基Component组件类详解

JUCE程序的外观总控:LookAndFeel

LookAndFeel是JUCE类库中所有可视化组件(控件。含控件所显示的字型、字体等)的外观“总控”。程序中可以设置全局性的LookAndFeel,某个组件也可以设置自己的LookAndFeel,两者的区别主要是所调用的设置函数不同。全局性设置LAF的函数是LookAndFeel类的静态函数setDefaultLookAndFeel(),可在程序主体类的初始化函数中完成设置。而组件设置自己的LAF可在上级组件的构造函数中使用setLookAndFeel(),或者在自身的构造函数中调用此函数(如果是程序员自定义的组件、控件类)。

继续阅读JUCE程序的外观总控:LookAndFeel