java - progressbar - progress bar cambiar color netbeans
No se puede cambiar el color de JProgressBar en la apariencia de Mac OS (1)
Para anular los valores predeterminados de Look & Feel, realice el cambio antes de construir la GUI en el hilo de envío del evento , como se muestra a continuación.
En com.apple.laf.AquaLookAndFeel
, el delegado de UI de la barra de progreso es una instancia de com.apple.laf.AquaProgressBarUI
. Como ha encontrado, ignora muchos valores predeterminados a favor del componente nativo. Si se requiere un esquema de color novedoso, considere proporcionar su propio delegado de IU, como se muestra aquí .
AquaProgressBarUI
:
CustomProgressUI:
ProgressBar UI Defaults:
ProgressBar.background: com.apple.laf.AquaNativeResources$CColorPaintUIResource[r=238,g=238,b=238] ProgressBar.border: javax.swing.plaf.BorderUIResource@47f08ed8 ProgressBar.cellLength: 1 ProgressBar.cellSpacing: 0 ProgressBar.cycleTime: 3000 ProgressBar.font: sun.swing.SwingLazyValue@6446d228 ProgressBar.foreground: javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] ProgressBar.horizontalSize: javax.swing.plaf.DimensionUIResource[width=146,height=12] ProgressBar.repaintInterval: 20 ProgressBar.selectionBackground: javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] ProgressBar.selectionForeground: javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] ProgressBar.verticalSize: javax.swing.plaf.DimensionUIResource[width=12,height=146] ProgressBarUI: com.apple.laf.AquaProgressBarUI
SSCCE:
import java.awt.*;
import javax.swing.*;
public class ProgressBarTest extends JFrame {
public static void main(String args[]) {
UIManager.put("ProgressBar.repaintInterval", 100);
UIManager.put("ProgressBar.border",
BorderFactory.createLineBorder(Color.blue, 2));
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame f = new JFrame();
f.setLayout(new GridLayout(0, 1, 5 , 5));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(createBar());
f.add(createBar());
f.add(createBar());
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
private JProgressBar createBar() {
JProgressBar progressBar = new JProgressBar(0, 100);
progressBar.setValue(50);
return progressBar;
}
});
}
}
Sé que esta pregunta ha sido respondida antes, pero simplemente no está funcionando para mí. Seguí las instrucciones desde aquí: ¿Cómo cambiar el color JProgressBar?
import javax.swing.*;
import java.awt.*;
public class ProgressBarTest extends JFrame {
public static void main(String args[]) {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
UIManager.put("ProgressBar.background", Color.orange);
UIManager.put("ProgressBar.foreground", Color.black);
UIManager.put("ProgressBar.selectionBackground", Color.red);
UIManager.put("ProgressBar.selectionForeground", Color.green);
JProgressBar progressBar = new JProgressBar(0,100);
progressBar.setValue(50);
f.add(progressBar, BorderLayout.PAGE_END);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
}
Todo lo que obtengo son los mismos colores viejos.
Estoy usando Mac OS X 10.7.3 y Java 1.6. CrossPlatformLookAndFeel
y funciona con los nuevos colores. Sin embargo, quiero que esto se vea y se sienta de forma predeterminada. ¿Cómo puedo hacer esto?