| we are on | Aboriginal land |
| fave fish | luderick |
| fave music | weird swedish squeaking |
| plays too mush | Ingress |
| we are on | Aboriginal land |
| fave fish | luderick |
| fave music | weird swedish squeaking |
| plays too mush | Ingress |
Java's Swing API is from the ancient days before generics, enums, lambdas and good fluent APIs. This alone probably bears more responsibility for haters' pathological obsession with verbosity than anything else. That is how it was in the 90s. There was nothing better. In that respect it's actually pretty good. You could write cross-platform apps with cross-platform GUIs, that alone was revolutionary.
However. These days when I use Swing I find myself invariably wrapping things up in modern niceties so that resulting code looks something like this in IntelliJ.
The little builders and stuff I created to do this don't cover all the Swing APIs however, just what I happen to be using here. Because Swing is a typical 90s style inheritance fortress, it's a bit hard to wrap things in builders without either a lot of duplication or making more inheritance. Default methods in interfaces help a bit by making mixins possible.
Anyway this is a lot more readable than the old style.