Předmět Autor Datum
http://stackoverflow.com/questions/10773978/how-to -change-jprogressbar-color
Wikan 11.01.2017 22:09
Wikan
Díky, ale to jsem našel, jenže jsem nepochopil, co přesně UIManager.put dělá.
MichalDM 11.01.2017 22:11
MichalDM
Mění nastavení. V tomhle případě nastavení barev. To přece chceš, ne?
Wikan 11.01.2017 22:15
Wikan
Ano, chci měnit barvu UIManager.put("ProgressBar.background", Color.ORANGE); UIManager.put("Progres…
MichalDM 11.01.2017 22:29
MichalDM
background = pozadí foreground = popředí selectionBackground = pozadí výběru selectionForeground = p…
Wikan 12.01.2017 07:33
Wikan
Dobře, dobře, zas takový amatér nejsem, vím co je background a foreground. Ale důvod, proč jsem se…
MichalDM 12.01.2017 11:38
MichalDM
Co znamená "nefunguje"? Pokud chceš konkrétní rady, musíš taky pokládat konkrétní otázky.
Wikan 12.01.2017 11:54
Wikan
Žádná změna. Pořád to má defaultní barvu.
MichalDM 12.01.2017 12:05
MichalDM
Bylo by daleko lepší, kdyby jsi to vyzkoušel sám u sebe. Asi víš, jak vytvořit JFrame. Tak ho vytvo…
MichalDM 12.01.2017 13:43
MichalDM
Už to funguje. import java.awt.Color; import java.awt.Toolkit; import javax.swing.JFrame; import ja… poslední
MichalDM 18.01.2017 14:59
MichalDM

Ano, chci měnit barvu

UIManager.put("ProgressBar.background", Color.ORANGE);
UIManager.put("ProgressBar.foreground", Color.BLUE);
UIManager.put("ProgressBar.selectionBackground", Color.RED);
UIManager.put("ProgressBar.selectionForeground", Color.GREEN);

Jenže chci vědět, co přesně to dělá, protože nechápu, proč jsou všechny barvy jiné.

Už to funguje.

import java.awt.Color;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;

public final class Test extends javax.swing.JFrame {

private static void Test() {
JFrame frame = new JFrame();
frame.setSize(Toolkit.getDefaultToolkit().getScree nSize());
frame.dispose();
frame.setUndecorated(true);
frame.setVisible(true);
frame.setLayout(null);
JProgressBar bar = new JProgressBar(1,10, 100);
frame.getContentPane().add(bar);
bar.setBounds(10, 100, 10, 100);
bar.setValue(50);
bar.setForeground(Color.RED);
bar.setBackground(Color.WHITE);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
Test();
}
});
}
}

Zpět do poradny Odpovědět na původní otázku Nahoru