theme progressbar look feel ejemplos color cambiar bar and java swing colors look-and-feel jprogressbar

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?