Client Library

VAquaClient is a library that may be useful in any application that uses VAqua, including multi-platform applications.


VAquaClient supports sheets using the VSheet class. VSheet provides basic methods for displaying a Window or a Dialog as a sheet. VSheet also provides convenience methods for displaying a JOptionPane or a JFileChooser as a sheet.

VSheet uses reflection to access the sheet support in VAqua, allowing it to be used in multi-platform applications. If VAqua is not available or has not been installed, the VSheet methods provide default behaviors. For most methods, the default behavior is to fall back to displaying an ordinary (dialog) window. The most basic method throws an exception if a window cannot be displayed as a sheet, so that the application can decide what to do instead.

Segmented Controls

Creating a segmented control using Aqua or VAqua involves creating a set of buttons, configuring them with multiple client properties, and arranging them appropriately. VAquaClient simplifies this process using the SegmentedControlBuilder class. If the installed look and feel is not Aqua or VAqua, a row of individual buttons is created.

Appearance Support

VAquaClient supports access to macOS appearances and system colors using the AppearanceSupport class. This class uses reflection to access the VAppearances library, allowing it to be used in multi-platform applications.

JTable Support for the Inset View Style

VAquaClient provides JTableWithMargins, a subclass of JTable that supports the side margins needed by VAqua to implement the inset view style.