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.
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.