One modern GUI feature notably absent from Java Swing is the tristate checkbox, i.e. a checkbox that has a third or “null” state in addition to the checked and unchecked states. This is typically visualized as a square or dash in the checkbox, where the checked state would be a checkmark and the unchecked state … Continue reading “Tristate Checkbox for Swing”
Author: Christoph Nahr
Durocher’s Ancient Ethnostate
The Ancient Ethnostate: Biopolitical Thought in Classical Greece by Guillaume Durocher (Kindle Direct Publishing Edition 2021, currently only available as paperback via Amazon) examines ancient Greek authors, from Homer to Aristotle, regarding their ethics and customs concerning biological and cultural relationships: whether families and clans, city-states with their colonies, or the entire Greek nation. Highly … Continue reading “Durocher’s Ancient Ethnostate”
Luttwak’s Strategy: The Logic of War and Peace
Some years ago I reviewed Edward N. Luttwak’s The Grand Strategy of the Roman Empire and its Byzantine Empire sequel. In-between these two books, Luttwak published a theoretical rather than purely historical work entitled Strategy: The Logic of War and Peace (The Belknap Press of Harvard University Press 1987; revised and enlarged edition 2001). Here … Continue reading “Luttwak’s Strategy: The Logic of War and Peace”
Biagioli’s Galileo, Courtier
Mario Biagioli’s Galileo, Courtier (University of Chicago Press 1993, paperback 1994, ISBN 0–226–04560–9) examines the major stations of Galileo Galilei’s career in the context of the contemporary courtly society, and especially its patronage system. Clocking in at over 500 pages in the German translation I read (an accidental bookstore discovery), the writing is somewhat long-winded … Continue reading “Biagioli’s Galileo, Courtier”
Tektosyne 6.3.2 Released
Tektosyne 6.3.2 is now available for download. This release fixes another bug in the MultiLineIntersection class, this time a rare search state corruption in the sweep line algorithm. Thanks again to Jeff Lockhart for his valuable efforts to identify these bugs! What happened was a misordering of adjacent positions on the sweep line, caused by … Continue reading “Tektosyne 6.3.2 Released”
Tektosyne 6.3.1 Released
Tektosyne 6.3.1 is now available for download. This minor update addresses one small bug discovered by an observant user: an assertion in method MultiLineIntersection.split was triggered when a collection of split points had a size smaller than three instead of the correct two. The interesting aspect here is how I managed to miss this bug … Continue reading “Tektosyne 6.3.1 Released”
MIME Browser 2.1 Released
Version 2.1 of MIME Browser, my free EML message viewer, is now available for download. This is a bugfix release prompted by a user report that double-clicking on a folder entry could select an entirely different file in the same folder. Turns out I had forgotten to translate between display and model row indices of … Continue reading “MIME Browser 2.1 Released”
Myriarch 2.1 for Swing Released
Version 2.1.0 of Myriarch, a simple real-time simulator for pre-gunpowder tactical combat, is now available for download. As with previous project updates, the Myriarch GUI is now based on Swing due to the removal of JavaFX from Oracle’s Java SE distributions. The minimum Java requirement was consequently lowered to Java SE 8, although note that … Continue reading “Myriarch 2.1 for Swing Released”
Java Swing JComboBox Tips
This post is a sequel to Java Swing Tips which formerly contained a shorter version of these tips concerning JComboBox. I decided to extract them into their own post as they got rather long, and the section on custom rendering was not quite correct. As before I’m using Oracle OpenJDK 10 on Windows 10 for … Continue reading “Java Swing JComboBox Tips”
Java Swing Tips
This post collects some tips for Java AWT/Swing features that I found less than obvious in my recent programming. I’m using Oracle OpenJDK 10 on Windows 10, but all Oracle Java Documentation links refer to Java SE 8 as that is the target version of my projects. 2021-03-31: Moved all JComboBox tips to an enhanced … Continue reading “Java Swing Tips”