Christian Cooper

Greenhorn
+ Follow
since Jul 23, 2004
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Christian Cooper

It depends upon which Look and Feel you are using.

If you are using the Metal L&F, the Icons will come from javax.swing.plaf.metal.MetalIconFactory where there is a whole heap of code that creates the icons using the Graphics.draw* functions.

Other L&F factories will do the same or may pick up files from the file system.

Quote from the header on MetalIconFactory:

"Factory object that can vend Icons appropriate for Metal.
These are used extensively in Metal via the defaults mechanism.
While other Look and Feels use GIFs for some of these, doing this
work in code facilitates things when switching to other Themes."

HTH
20 years ago
Ok upon further investigation, the JScrollPane seems to be largely irrelivent...

As does the way that I set a model and then fill it with data after instantiation...

Examination of the source for JComboBox and DefaultComboBoxModel, would indicate that a popup list resize would be triggered by a data update.

Have I missed some piece of really obvious documentation somewhere saying "Don't ever use JComboBoxes with GridBagLayout on a JPanel", or have I just missed something really obvious?

Cheers,

Chris.
20 years ago
Hi all,

I'm a first time poster here, so be gentle.

I have a realy strange problem...

I have a JScrollPane that contains a JPanel.
The JPanel has a VerticalFlowLayout.
This main JPanel then has several sub JPanels nested within it.
Each one of these sub JPanels has a GridBagLayout containing a JLabel and some sort of data entry control (JTextField, JTextArea, JComboBox, JCheckBox).
I have enough sub JPanels that the JScrollPane draws the vertical scroll bar.

In summary:
JScrollPane
--JPanel(VerticalFlowLayout) [main]
----JPanel(GridBagLayout) [sub]
------JLabel
------JTextField
----JPanel(GridBagLayout) [sub]
------JLabel
------JComboBox
----JPanel(GridBagLayout) [sub]
------..
----JPanel(GridBagLayout) [sub]
------..
----etc...

But as soon as I use the scroll bar, the JComboBoxes lose their drop down, the button is still there, but the popup list never appears. The data is still present as you can scroll through the values using the up and down arrow keys.
Even wierder, is that any JComboBox that is displayed without needing to scroll into view seems to have lost its popup list anyway!
I will mention, that the JComboBoxes are filled dynamically by adding entries to their model directly, rather than using the Object[] or List contructors, and frankly that seems to make things hella wierd anyway.

I have tried every combination of invalidate, validate, revalidate, repaint and pack that I can think of, I've even sacrificed some Diet Coke to the Swing Gods, but all to no avail.

Does any one have any ideas what is going on?

Thanks in advance,

Chris.

[Edit: Curses to all auto whitespace trimmers!]
[ July 23, 2004: Message edited by: Christian Cooper ]
20 years ago