JUCE类库组件的派生类

本小节不含后文将重点讲解的组件派生类(比如各类控件和功能性组件),仅供内部使用的辅助性组件类也未列举。

  • CaretComponent 插字符组件。其构造参数为组件类对象,如果该对象拥有键盘焦点,则插字符可见。核心成员函数:setCaretPosition()用于设置插字符的位置,插字符默认显示在给定区域的左侧。
  • CodeEditorComponent 代码编辑器。专门用来处理源代码的文本编辑器,能够快速编辑较大的文件,关键字和语法自动高亮,自带撤销、重做等一整套完整的编辑功能,这些功能均有对应的成员函数。
  • FilePreviewComponent 文件预览组件。文件选择对话框中可包含此类,以预览当前所选文件。
  • MenuBarComponent 菜单栏组件。容纳并显示MenuBarModel菜单栏模型的组件。
  • ColourSelector 颜色选择器。构造函数确定要显示的元素和本类的属性,可设置并获取当前所选的颜色。

ColourSelector 第1张

图 4 1 ColourSelector 颜色选择器的默认界面
  • FileBrowserComponent 文件浏览器。带有一整套与目录、文件(打开或保存等)有关的控制功能,可获取用户的选择结果,并可进行文件预览。注意,本类没有【打开】、【保存】、【新建】等按钮。如需完整的文件选择对话框,可使用FileChooserDialogBox类。

FileBrowserComponent 第2张

图 4 2 FileBrowserComponent 文件浏览器组件

FileBrowserComponent类有addListener()函数,用于绑定FileBrowserListener抽象类。该类专门捕获并处理文件浏览器所产生的消息。FileBrowserListener类的纯虚函数为:
 selectionChanged () 改变所选的文件时, 自动调用此函数
 fileClicked () 点击某个文件时, 自动调用此函数
 fileDoubleClicked () 双击某个文件时, 自动调用此函数
 browserRootChanged () 文件浏览器中改变根目录后,自动回调此函数

  • FilenameComponent 文件选择器。在可编辑的文本框中显示文件名,可选择最近使用过的文件下拉列表。带有“…”浏览按钮供打开文件。核心函数getCurrentFile ()可获取当前所选(显示)的文件。

图 4 3 FilenameComponent 文件名组件(图略)

  • FileSearchPathListComponent 文件搜索路径列表组件。

图 4 4 FileSearchPathListComponent文件搜索路径列表组件(图略)

  • ImageComponent 图像组件。该组件可显示一幅图像,使用setImage()设置图像并布局定位。
  • NSViewComponent NS视图组件。OSX平台专用,可创建并嵌入一个NS视图。
  • ResizableBorderComponent 边界调整器。可用鼠标拖拽的方式调整其父级组件,相当于可视组件的边框。使用方法:将本类对象添加给父级组件,并使其填充整个组件。内部原理是:调整期间,自动捕获鼠标点击和拖拽事件,根据鼠标的当前位置重新调整父级组件的大小。要确保组件大小改变后,本类对象的位置与布局也随之改变, 以再次匹配整个组件。
  • ResizableCornerComponent 边角调整器。此组件是一个带有条纹的小三角,可调整某个组件(构造函数的1参)的大小,构造函数的2参为限制最大和最小可调整范围的ComponentBoundsConstrainer对象。通常,本类对象用于调整其父级组件的大小,但另类使用的情况下,可以调整任意所关联组件的大小。
  • ResizableEdgeComponent 边框调整栏。可用鼠标拖拽的方式调整其父级窗口,相当于所调整组件的边框。使用方法:将本类对象添加给某个组件,并将其定位在该组件的边缘处。组件大小改变后,需注意要将调整栏再次定位到正确的位置。
  • ScrollBar 滚动条。大多数情况下,使用Viewport或ListBox即可,无需直接处理滚动条。
  • WebBrowserComponent WEB浏览器组件,使用操作系统默认的浏览器内核。
  • DirectShowComponent 微软DS音视频播放器
  • QuickTimeMovieComponent 苹果QT音视频播放器
  • CameraDevice 视频(摄像头)捕获
  • AppleRemoteDevice Apple遥控设备(抽象基类,并非组件类)