Wicket’s component and OO nature make it very easy to create plugins which affect the UI in different ways. In this article we are going to build a simple application that allows the user to create an article for a (Wicket based) CMS and configure how it should be deployed. Out of the box we are going to support a fictional FTP and HTTP POST deployers, each with their own configuration data and editors. We are going to abstract the deployer into a plugin system so new ones can be easily created and added to the application. The sample project provided works with Hibernate, Spring, and Wicket.
Ahhh, the old table-doesn’t-fill-the-view problem. Nothing says “this is a Swing app” more than a JTable that only fills up part of it’s parent JViewport. Apparently this behavior was not the original behavior (as I had once thought), but was introduced, presumably as a bug, back in Java 1.2 (see this bug report). This behavior has been fixed in Java 6, though not by default - you have to call JTable.setFillsViewportHeight(true).
I have finish coding this since 3 weeks and still haven't found the time to write a post, so here we go : I have updated my "sexy" swing app with a component which is a mix of a JTable and a windows folder :
The size of the cells is dynamic, so for example if you move the slider at the bottom the content will grow or shrink
Are SWT and Eclipse moving away from native widgets? If you follow the development mailing lists of the relevant Eclipse subprojects, this might be one of the more interesting questions for Java UI developers.
I spent a few hours putting together a Dynamic Data web site using the YUI DataTable and DataSource components. I mostly just did this out of curiosity to see how easy or difficult it would be to use the DD API with other components besides the GridView and DetailsView controls. So I created a DD web site that provides read-only access to Northwind's Customer, Employee and Supplier tables, but I am not using ASP.NET's GridView, DataSource and UpdatePanel controls to render the grid. Instead I have replaced these components with YUI's client side DataTable and DataSource and serve the data using a web service (paging included!). Below are a few of the highlights, and don't forget to download the sample and try it out for yourself. Its experimental, but if you are new to DD or YUI you might find it interesting.
More than a year ago a series of post regarding Fuse and Groovy (I, II, III) were laid out on this blog, that clearly show I didn't know what I was getting into. These days I know a bit more about Groovy and creating Swing apps with it than then so it seemed like a good idea to revisit FuseDemo but this time make spicing it up with Griffon.
This post presents a function — DrawGlossGradient(CGContextRef context, NSColor *color, NSRect inRect) — that will draw a "gloss" gradient in a single statement. All colors in the gradient are calculated from the single color parameter.
It seems to me that Griffon (brand new Groovy-based Swing MVC-structured framework) has identified the dark underbelly of the Java desktop world—there are no guidelines for how an application's sources should be structured. Two of the bloggers I read today on the excellent http://groovyblogs.org confirm this
In Flying with Griffon, I created a simple scenario in Griffon, to show how this new Swing MVC framework functions and what some of its benefits are. A different approach, one that is potentially even more illustrative, is to take an existing Java desktop application and port it to Griffon. That is what I propose to do in this article.
The customization layer of Substance (especially the painters) aims to create a customizable and powerful separation between painting layer and the rest of the application code (business logic such as persistence, authentication, communication and more). In this separation, Substance allows working on the application visuals as a separate work flow (although the process of mapping the application areas to Swing and Substance may require closer cooperation with implementing the actual UI container structure).
In this entry i’m going to talk about the fifth step in the process of taking the UI definitions from your designer and converting them to a live implementation. This process is illustrated by taking design of Cookbook UI (from the My Dream App contest) and turning it into a Swing application using Substance look-and-feel. The code behind the process is available in the Substance Samples project that aims to provide a collection of blueprints for creating visually rich UIs in Swing.
And here's what I like best about Griffon so far:
1. I can use Groovy.
2. I can reuse everything I learned from Grails.
3. I am almost forced to think in an MVC-way about my Swing application.
4. At the end, for no extra effort whatsoever, I not only have a Swing application, but also an applet and a JNLP application.
5. Griffon is under active development by people who know what they're doing, having learned from the successes and mistakes of Swing, in a modern context, so I'm expecting the best of all worlds within a single framework.
New frameworks come and go. They tend to stand and fall based on whether people start experimenting with them. The new Griffon framework is unlikely to fall any time soon, since the large and vibrant Groovy/Grails community has a vested interest in it. However, to do my bit, I'm going to start playing with it myself.
MochaUI is a web applications user interface library built on the Mootools JavaScript framework. You can use it to build rich web applications, virtual desktops, web sites, widgets, standalone windows, modal dialogs and wizards. MochaUI is open source and distributed under the MIT licence.