Trying to get JComboBox to "repopulate" with increased java.util.Vector
I have a JFrame with two JPanels
Top JPanel p1 contains:
1 JLabel that never changes
1 JComboBox that is populated by dynamic values found in
java.util.Vector
1 JButton
If you press that JButton this method fires off:
[code]
/**
* Process new {@link java.net.URL} request
*/
protected void processURL() {
System.out.println("Your new URL is " +
webAddressBox.getSelectedItem().toString()); // webAddress is
JComboBox
SimpleBrowser.hasEnteredAdditionalURL = true;
setURLPath(webAddressBox.getSelectedItem().toString()); //
WORKS
try {
addToHistoryURLVector(new
URL(webAddressBox.getSelectedItem().toString())); // WORKS
} catch (Exception e) {}
generateWebBrowser(); // WORKS - CREATES
org.jdesktop.jdic.browser.WebBrowser each time you enter in a URL in
JComboBox and press JButton
webAddressBox = null;
generateJComboBox(); // THIS SHOULD CREATE A BRAND NEW
REPOPULATED JComboBox
p1.revalidate();
}
/**
* Populate {@link #webAddressBox} optionally using {@link
#historyURLVector}
*/
private void generateJComboBox() {
if (historyURLVector != null && historyURLVector.size() > 0) {
webAddressBox = new JComboBox(historyURLVector);
} else {
webAddressBox = new JComboBox();
}
if (!SimpleBrowser.hasAddedInitialURL && getURL() != null) {
webAddressBox.addItem(getURL());
} else if (!SimpleBrowser.hasAddedInitialURL && getURLPath() !
= null) {
webAddressBox.addItem(getURLPath());
}
if (getScreenWidth() == 0)
setScreenWidth(SimpleBrowser.DEFAULT_SCREEN_WIDTH);
Dimension dim = new Dimension((int)(getScreenWidth() / 1.14),
(int)(SimpleBrowser.DEFAULT_WEB_ADDRESS_BAR_HEIGHT /
2));
webAddressBox.setMaximumSize(dim);
webAddressBox.setPreferredSize(dim);
webAddressBox.setEditable(true);
webAddressBox.setBackground(Color.WHITE);
}
[/code]
When the JFrame fires up the first time, I see my top JPanel just
right with just one value in it, and the bottom JPanel with the URL
displayed. I enter another URL into the JComboBox and click the
JButton; while the bottom JPanel refreshes with a brand new URL
displayed, the top one shows ONLY the new URL; I want to display a
total dropdown of ALL URLS you have ever entered from the first until
now as a "historyURLVector" so to speak. The values in
java.util.Vector accurately reflect that you have now 2 URLS for
example instead of just the initial 1 URL, but the JCombBox only shows
1 URL when you want to see all of them.
Best way to understand this would be very easy: just like your address
bar in your browser should show multiple URLs, so should mine, but I
can't figure out how to do this part of it all the while having a semi-
working simple browser.
Thanx
Phil