>>> I have a JProgressBar that I want to be green if the underlaying
>>> process has no errors and red if it does. I can't seem to find a way
>>> of setting the color of the bar in the raw JProgressBar class... ideas?
>> Try JProgressBar.setForeground(Color c)
>
> No effect
Works for me.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Bar extends JFrame {
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new Bar().setVisible(true);
}
});
}
private final JProgressBar pbar = new JProgressBar(0, 10);
private final JButton butt = new JButton("Click Me");
private Bar() {
butt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
BoundedRangeModel model = pbar.getModel();
int value = model.getValue();
if (value == 3)
pbar.setForeground(Color.GREEN);
else if (value == 7)
pbar.setForeground(Color.RED);
model.setValue(value + 1);
}
});
setLayout(new FlowLayout());
add(pbar);
add(butt);
pack();
}
}

Signature
Eric.Sosman@sun.com