Panels and Views

Panels

Most of the display areas in JSwat are implemented as "panels". The panels have an interface made up of JFC components, and they hold the model that contains data to be displayed. In the case of a debugger front-end like JSwat, the data is usually maintained by the debugger back-end. The JSwat panels interface with the JPDA to acquire the necessary data.

Presently, panels will display the threads, classes, local variables, data members, error messages, and the like. Each panel is specialized for the type of information it will display. In most panels, either a JList, JTree, or JTable is used to display the debugging information. The panels are kept up-to-date via the refresh() method. This is invoked by the Session, via the UIAdapter, whenever an appropriate event has occurred.

Panels may also listen for JPDA events on their own and update the panel as necessary.

Views

So far, the only type of data that is not displayed in a panel is a source code file. This is displayed in a "view". In the case of a view, the data does not come from the debugger back-end. Instead, it may come from the local hard drive or another resource, such as a bytecode stream.

Views may also listen for JPDA events on their own and update the view as necessary.