Skip to Content
Java Swing
book

Java Swing

by Robert Eckstein, Marc Loy, Dave Wood
September 1998
Intermediate to advanced
1258 pages
42h 57m
English
O'Reilly Media, Inc.
Content preview from Java Swing

Tree Models

Looking at Figure 17.4 you can get an overview of where all the tree pieces come from. As with many of the Swing components you’ve seen already, the models supporting the data for trees play a crucial role in making the component run. Two interfaces are particularly important: TreeModel, which describes how to work with tree data, and TreeSelectionModel, which describes how to select nodes. We’ll be looking at the model for the tree data first, and later the model supporting tree selections.

The TreeModel Interface

To get started, you need a tree model. The TreeModel interface is the starting point for your model. You don’t have to start from scratch, there is a default implementation you can subclass or just look at for ideas. (We’ll look at this class, DefaultTreeModel, later in the chapter.)

Property

The TreeModel has one root property, listed in Table 17.1. This read-only property designates the root of a tree: by definition, the node that has no parent. All other nodes in your tree will be descendants of this node.

Table 17-1. TreeModel Property

Property

Data Type

get

is

set

bound

Default Value

root

Object

•

    

Events

The tree model uses the TreeModelEvent class defined in the javax.swing.event package. A TreeModelEvent indicates that the tree has been changed; one or more nodes have been added, modified, or deleted. You will find a more detailed discussion of the tree events in Table 17.9 later in this chapter.

public void addTreeModelListener(TreeModelListener ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Java GUI Development: The Authoritative Solution

Java GUI Development: The Authoritative Solution

Vartan Piroumian
Java 11 Cookbook - Second Edition

Java 11 Cookbook - Second Edition

Nick Samoylov, Mohamed Sanaulla
Java 9 Dependency Injection

Java 9 Dependency Injection

Nilang Patel, Krunal Patel
Java 9: Building Robust Modular Applications

Java 9: Building Robust Modular Applications

Dr. Edward Lavieri, Peter Verhas, Jason Lee

Publisher Resources

ISBN: 156592455XCatalog PageErrata