You can run the full interactive demo without cloning this repository.
-
Create a new, empty directory on your machine and navigate into it:
mkdir demo-runner && cd demo-runner
-
Create a file named
pom.xmland paste the following content into it:Click to expand to show pom.xml content
<project xmlns="http://apache.org" xmlns:xsi="http://w3.org" xsi:schemaLocation="http://apache.org http://apache.org"> <modelVersion>4.0.0</modelVersion> <groupId>dev.visdb.seesaw</groupId> <artifactId>seesaw-demo-runner</artifactId> <version>1.0.0</version> <packaging>pom</packaging> <properties> <args></args> <demo.args>${args}</demo.args> <xcp></xcp> <seesaw.version>0.5.1</seesaw.version> <exec-maven-plugin.version>3.6.4</exec-maven-plugin.version> <log4j.version>2.26.1</log4j.version> </properties> <dependencies> <dependency> <groupId>dev.visdb.seesaw</groupId> <artifactId>seesaw-demo</artifactId> <version>${seesaw.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>${exec-maven-plugin.version}</version> <configuration> <executable>java</executable> <commandlineArgs> -classpath %classpath${xcp} dev.visdb.seesaw.demo.MainClass ${demo.args} </commandlineArgs> <classpathScope>test</classpathScope> <successCodes> <successCode>0</successCode> <successCode>1</successCode> </successCodes> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>log4j</id> <dependencies> <!-- inject the log4j System.Logger bridge --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jpl</artifactId> <version>${log4j.version}</version> </dependency> </dependencies> </profile> </profiles> </project>
-
Run the demo using standard Maven commands:
- Default Mode:
mvn exec:exec - Show Help:
mvn exec:exec -Dargs=-h - Custom Arguments:
mvn exec:exec -Dargs="--flag1 --flag2" - log4j instead of JUL:
mvn exec:exec -Plog4j -Dargs=-h
- Default Mode:
Seesaw is an open source Java toolkit containing data-aware replacements for many of the standard Java Swing components. It is a rewrite of most of the original SwingSet with several new features; there is a wrapper that uses seesaw to provide the SwingSet API.
The Seesaw feature-set currently includes:
- data-aware replacements for JTextField, JTextArea, JComboBox, JCheckBox, JLabel, JSlider, & JFormattedTextField
- binding of a "hidden" numeric column for combo boxes with text choices (e.g., 0, 1, & 2 are stored for "Yes," "No," & "Maybe," respectively)
- population of combo boxes based on columns in a database query (can also be used for combo box-based record navigation)
- a data-aware image component with pan/zoom.
- a graphical record navigator (a) allows for database traversal, insertion, deletion, commit, and rollback (b) supplies current record index (editable) and total record count
- a data grid component for creating datasheet/spreadsheet/table views of queries (a) allows cut & paste to/from spreadsheet programs or other data grids (b) allows custom column headings (c) allows hiding of specified columns (d) allows disabling of specified columns (e) allows columns to be displayed as text boxes or combo boxes (f) allows addition and deletion of records (g) allows deletion of multiple, non-consecutive records (h) allows data entry "masks" to be applied to text columns (i) allows multi-key column sorting
- formatted fields for various types like currency, percent, SSN, date etc.
For questions regarding Seesaw, contact info at visdb-dev
Releases are signed with GPG key: 22F7 6E71 B251 AA2C 6AFD 8F9B D6A9 8F71 FF9B C213




