Skip to main content

Alexander Potochkin

Alexander Potochkin is an engineer on the Swing team. He enjoys solving puzzles,
traveling to different countries and always returning to Saint Petersburg, Russia.

 

Weblogs

The problems that are related to the application context might be invisible from the outside of the Swing core libraries, but it has been a big deal for the Swing toolkit developers. Every time...

Swing makes it very easy to control and modify simple components like JLabel or JButton. It gets trickier when you customize a compound component like JTree or JTable. Unlike a simple component,...

In the list of the things that needs improving in Swing, the implementation of listeners takes the first place. The problem is the fact that the order in which listeners are notified is not...

Generics doesn't work well with arrays. Everybody knows that you can't create a generified array,
but not many people really know what it was done this way.
A nice article from...

Checked exceptions are painful. I could write a long article about it,
but there are more than enough good blogs describing this problem.

We have all read the "Effective Java" book and know that we should prefer interfaces over abstract classes.
This is a known and respected pattern which should be used wherever...

I truly love the Swing GUI toolkit, I enjoy its flexibility, opennes and great abilities.

I know that some people say that Swing is too difficult to learn,
and I partly accept it...

Hello Swing community

While the SAF project is on hold, the Swing team welcomes the active development of the alternative implementations of the Swing framework.

Hello Swing community

After much discussion it's become clear that the Swing Application Framework API as it is today hasn't reached...

Java desktop team is working hard to move JDK7 forward.

I am happy to announce that ...

As I promised in the previous entry, the work on the Swing Application Framework has been restarted...

I know this is not good to disappear for a long time from blogging and SAF mail aliases, I am sorry about that. This happened because Swing team had some urgent temporary tasks to work on.

As you probably know, a few weeks ago I became the new specification lead for the Swing Application Framework project (JSR-296). This project has...

One of the biggest advantage of JXLayer 3.0 over the previous version is the ability to catch input events of its subcomponents. I started to think about this feature when I was asked if it was...

The JXLayer's functionality consists of two parts: painting issues and input event processing.

In this entry I'll describe painting in...

LockableUI is definitely one of the most challenging feature in the JXLayer library. I have already written about why it was difficult and suggested...

The mouse auto-scrolling is very popular these days for modern applications. I usually use this feature in the Firefox browser - you click the mouse wheel somewhere on the page and can immediately...

It is my pleasure to announce a major update of JXLayer component.
The new version is hosted on its own java.net project jxlayer.dev.java.net,...

When I worked on the lightweight disabling of compound Swing components for my JXLayer project, I tried different approaches to workaround the problems with the custom painting of double-buffered...

JDK 6 introduced plenty of cool desktop features, like famous gray-rect fix or...

Few weeks ago I submitted a session for the next JavaOne and it reminded me the previous session which we presented with...

As everybody knows if you need to repaint a Swing component you should call Component.repaint() method,...

In one of my previous blogs I answered to Kirill's comment that some of techniques he described in his...

One of the big part of my work is fixing bugs in Swing but not all of them are to be fixed, some of them are closed because they describe the situations when someone uses Swing in undocumented...

A few weeks ago Chris
tagged 4 people at once !

In one of my previous blog I presented a component which enables arrow keys to transfer focus and...

Inspired by some latest blogs I decided to find the most hacky and crazy method to paint on a component


I chose JButton as the most well-known component to play with

...

I have seen a lot of custom GlassPane tricks, which use GlassPane to "disable" the frame, to provide a visual effects during the lengthy tasks or to give more rich feedback during drag and drop...

I have fixed quite a lot of bugs and RFE's in Swing for Java 1.6 and don't really remember all of them,
but I do remember one remarkable bug because it took me unusually long time to find a...

A long time ago I wanted to have a component which could paint rotated text for my application

I definitely could create my own component, override paintComponent(), implement correct resizing...