File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Swing / AWT / SWT and the fly likes Different cell sizes for jlist cells Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Different cell sizes for jlist cells" Watch "Different cell sizes for jlist cells" New topic

Different cell sizes for jlist cells

mumbo alex

Joined: Feb 11, 2010
Posts: 3
Hi all,
I have a list which use a panel as the renderer. The height of the renderer panel is depends on the text in that panel. (See the Image-1)
But the problem is that all renderer panels becomes the size of the biggest panel.

I override the renderer panel's (NoticePanel) paintCopmonent() and draw the lines and the curve. This NoticePanel has a jtextarea and a label to accommodate the text. I create this panel inside the renderer's getListCellRendererComponent() method with the correct height and with. Actually i calculate the height depending on the text. I set that size in NoticePanel's preferredSize() in its initialize() method.

class NoticeCellRenderer extends DefaultListCellRenderer
private final CambioPanel panel = new CambioPanel();

public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
boolean cellHasFocus)
// Calculate the height of the component and create the panel with that height.
NoticePanel noticePanel = new NoticePanel(value, height);
return noticePanel;

public class NoticePanel extends CambioPanel
private void initialize()

But all the NoticePanel that are in the list has same height. First panel in the list (with a red color arrow) has a wrong size. It has taken the size of the other panel which has the correct height.

How can I get different sizes on different cells in this list?


[Thumbnail for Image-1.JPG]

I agree. Here's the link:
subject: Different cell sizes for jlist cells
It's not a secret anymore!