मेरे पास एक कस्टम ListCellRenderer है और डिफ़ॉल्ट निंबस चयन बैकराउंड रंग का उपयोग करना चाहूंगा। मैं के साथ रंग देखने कर सकते हैं:मैं UIManager के साथ डिफ़ॉल्ट निंबस रंग का उपयोग कैसे करूं?
Color selectionBackground = UIManager.getColor("nimbusSelectionBackground");
और अगर मैं इसे प्रिंट, उस पर Nimbus default colors मान जैसे ही हैं। लेकिन जब मैं इसे जेपीनल पर उपयोग करता हूं तो मुझे एक अलग ग्रे रंग मिलता है, मैं UIManager से रंग का उपयोग कैसे कर सकता हूं?
जब मैं कार्य करें:
setBackground(Color.RED);
JPanels backround लाल रंग में दिखाया गया है, लेकिन जब मैं कार्य करें:
setBackground(selectionBackground);
"selectionBackground" रंग नहीं इस्तेमाल किया है, लेकिन एक ग्रे रंग ।
पृष्ठभूमि होना चाहिए::
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
public class PanelColor {
public static void main(String[] args) {
// switch to Nimbus Look And Feel
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
try {
UIManager.setLookAndFeel(info.getClassName());
} catch (Exception e) { e.printStackTrace(); }
break;
}
}
Color selectionBackground = UIManager.getColor("nimbusSelectionBackground");
JPanel panel = new JPanel(new BorderLayout());
panel.setPreferredSize(new Dimension(300,50));
panel.add(new JLabel(selectionBackground.toString()), BorderLayout.NORTH);
// is not showing the selectionBackground color
panel.setBackground(selectionBackground);
JFrame frame = new JFrame();
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
क्या यह संभव है कि निम्नलिखित प्रश्न आपको निम्बस के साथ मदद कर सके - http://stackoverflow.com/questions/5840599/jbutton-background-on-nimbus-laf? –
वाह, बहुत विषम। मैंने कोड में चेक किया: लौटा रंग टाइप javax.swing.plaf.ColorUIResource है। लेकिन मुझे नहीं लगता कि यह किसी भी समस्या का कारण बन सकता है क्योंकि यह रंग का उप-वर्ग है। ColorUIResource के कोड में कुछ खास नहीं है, यूआई या कुछ भी संदर्भ नहीं है। जैसा कि जॉय ने सुझाव दिया, 'चयनबैकग्राउंड = नया रंग (चयनबैकग्राउंड.getआरजीबी());' काम करता है। – toto2