When Java AWT/Swing got JavaFX-style automatic high DPI scaling in Java SE 9, there were also several new system properties to control that scaling. Unfortunately, as with the various glass.win.* properties of JavaFX (see e.g. here) they are not officially documented. You need to check the developer mailing list and the JDK test sources to … Continue reading “Swing High DPI Properties”
Author: Christoph Nahr
Minimum Size Scaling for Swing Windows
Since Java SE 9, Java AWT/Swing has supported automatic high DPI scaling on Windows and Linux, just like JavaFX. Ironically, this came with a bug that JavaFX used to have until Java 9: Window.setMinimumSize fails to scale the specified width and height on high DPI systems. (Unlike JavaFX, AWT/Swing windows ignore setMaximumSize anyway. Non-window components … Continue reading “Minimum Size Scaling for Swing Windows”
Core Java 11 for Java 11
Core Java, Volume I: Fundamentals — Cay S. Horstmann, Pearson Education 2018 (11th ed. for Java SE 11), ISBN 978-0-13-516630-7 Core Java, Volume II: Advanced Features — Cay S. Horstmann, Pearson Education 2018 2016 (11th ed. for Java SE 11), ISBN 978-0-13-516631-4 These two 900-page tomes originated as Sun’s official guide to the Java platform … Continue reading “Core Java 11 for Java 11”
MIME Browser 2 for Swing Released
Version 2.0 of MIME Browser, my free EML message viewer, is now available for download. The big change is the one motivated by the removal of JavaFX from Oracle’s Java SE distributions: MIME Browser is now based on Java AWT/Swing rather than JavaFX. The user interface has become somewhat uglier as a result (below is … Continue reading “MIME Browser 2 for Swing Released”
DPI Scaling for CSSBox
Radek Burget’s CSSBox is an (X)HTML/CSS rendering engine written in pure Java with AWT/Swing display output. While it doesn’t support JavaScript, it does support modern HTML/CSS and is also tolerant of any content it doesn’t understand. This makes CSSBox a good replacement for the standard JEditorPane which is limited to HTML 3.2 with some extensions, … Continue reading “DPI Scaling for CSSBox”
Greatest Hits in 2018
Total Kynosarges page views as determined by Google Analytics again shrank year-over-year, but a strong weblog performance prevented a massacre. Combined non-unique views went from 101,616 in 2017 (weblog 54,077, website 47,539) to 99,254 in 2018 (weblog 64,682, website 34,572). Here are the annual Top Ten pages, starting with weblog posts. Each link is followed … Continue reading “Greatest Hits in 2018”
Forgotten Baroque Music
Europe’s era of baroque music (ca. 1600–1750) comprises most of the oldest historical compositions still widely played today, with some notable exceptions such as medieval church chorals and renaissance lutists. Everyone at all interested in the subject knows the baroque grandmasters: Claudio Monteverdi (1567–1643), Heinrich Schütz (1585–1672), Arcangelo Corelli (1653–1713), Antonio Vivaldi (1678–1741), Georg Philipp … Continue reading “Forgotten Baroque Music”
Windows 10 October 2018 Update
We’re now on the third Windows 10 feature update after last year’s big Creators Update. I had not bothered writing about the two intervening updates as there wasn’t much to say, but the most recent one brought some nifty new functions you should be aware of. First, here are How-To Geek’s comprehensive feature lists for … Continue reading “Windows 10 October 2018 Update”
Pillars of Eternity 2: Deadfire
Pillars of Eternity 2: Deadfire is to Pillars of Eternity what Baldur’s Gate 2 was to Baldur’s Gate. There are some gameplay improvements but mostly the game is very similar, just way bigger. My total playtime was about 80 hours, and that’s without any expansions. The name stems from the caribbean-themed archipelago of Deadfire, to … Continue reading “Pillars of Eternity 2: Deadfire”
Java SE 11: The Great Removal
Java SE 11 has been released, with fairly few minor new features. That’s not surprising as Java 11 receives long-term support in Oracle’s new release cadence, so its main purpose is to stabilize the major changes from the previous short-term versions. The bigger issue with Java 11 is what it removes, as well as an … Continue reading “Java SE 11: The Great Removal”