There are two options for displaying labeled values. The default is list, which has the advantage of showing a variable number of label values in a fixed area. However, the user can choose to display labeld values with checkboxes, which is more intuitive and convenient to use. Gridlayout is used to partition the main window for the categories. There is a description area at the bottom of the window.
Scrollable panel is the most complicated part of the user interfaces.
Since the windows size is fixed, the windows will not be able to fit all the necessary interface widgets if there are too many categories. Scrollable panel is implemented to let the user scroll through the categories. Cardlayout is used instead of dynamic generation in order to improve the smoothness of scrolling. The basic structure of the Filter is similar to that of Label. There're two main differences.