यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
ColorPicker
ColorPicker एक रंग चुनता है, hue×saturation के 2-D मैट्रिक्स और एक चमक स्लाइडर के माध्यम से। यह पिकर पैटर्न का अनुसरण करता है (देखें Picker) और alpha चैनल रहित एक Integer ARGB लौटाता है।
🟡 · पैकेज:
dev.crossfly.ui.picker· विस्तार करता है:Picker· चयन: आंतरिकColorMatrix
कब उपयोग करें
- उपयोगकर्ता को एक रंग चुनने देना (थीम, हाइलाइट, लेबल)।
दिखावट
स्क्रीन के 80%×80% वाली विंडो, जिसमें hue×saturation मैट्रिक्स मुख्य भाग भरता है, एक चमक स्लाइडर, और Cancel तथा Select बटन (Select hex दिखाता है और चुने गए रंग से ही रंगा जाता है)।
संपूर्ण उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)
package com.exemplo;
import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;
import dev.crossfly.ui.picker.*;
/** चलाने योग्य मुख्य स्क्रीन। launcher (classname) की ओर संकेत करें और चलाएँ: gradlew :lwjgl3:run */
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
setLayout(new VerticalLayout());
Button abrir = new Button("Escolher cor");
// चुने हुए रंग को ही बटन के बैकग्राउंड के रूप में उपयोग करता है
abrir.onAction(c ->
{
ColorPicker cp = new ColorPicker(0xFF3366CC);
cp.show(answer ->
{
int argb = 0xFF000000 | (Integer) answer; // alpha जोड़ता है (बिना alpha वाला रंग)
abrir.style(abrir.getStyle().copy().backColor(argb));
});
});
add(LAY_AUTO, abrir);
}
}
नीचे दिए गए स्निपेट केवल मूल भाग दिखाते हैं (जो
onShow()के अंदर जाता है)। चलाने के लिए, इन्हें ऊपर दिएMainWindowकंकाल में रखें।
बुनियादी उपयोग
ColorPicker cp = new ColorPicker(0xFF3366CC);
cp.show(answer ->
{
int rgb = (Integer) answer; // 0x00RRGGBB (बिना alpha)
int argb = 0xFF000000 | rgb; // अपारदर्शी रंग के रूप में उपयोग करने हेतु alpha जोड़ें
botao.style(botao.getStyle().copy().backColor(argb));
});
कंस्ट्रक्टर
| कंस्ट्रक्टर | विवरण |
|---|---|
ColorPicker(int defaultColor) |
खोलने पर दिखाया जाने वाला प्रारंभिक ARGB रंग। |
गुण और अनुकूलन
| सदस्य | प्रकार | क्या करता है |
|---|---|---|
choosenColor |
int (सार्वजनिक) |
वर्तमान रंग (alpha रहित RGB); रद्द होने पर -1। |
ColorPicker.selectStr (स्थैतिक) |
String |
Select बटन के लेबल का उपसर्ग ("Select color ")। |
कॉलबैक और इवेंट
| कॉलबैक | कब ट्रिगर होता है |
|---|---|
show(onAnswer) |
पुष्टि (Select) पर, Integer (alpha रहित RGB) देता है। |
परिणाम (महत्वपूर्ण)
getAnswer() Integer लौटाता है (alpha रहित RGB रंग, & 0x00FFFFFF से मास्क किया हुआ), या रद्द होने पर null। प्रकार Integer है (int नहीं) ठीक इसलिए ताकि यह null हो सके।
⚠️ रंग में alpha चैनल नहीं है। यदि आपको अपारदर्शी रंग चाहिए तो
0xFF000000 |लागू करें।
अवस्थाएँ
- Select →
answer = choosenColorऔर बंद होता है। - Cancel →
answer = null,choosenColor = -1और बंद होता है (onAnswerट्रिगर नहीं होता)।
चुने गए रंग को बटन की पृष्ठभूमि के रूप में उपयोग करना
ColorPicker cp = new ColorPicker(0xFF3366CC);
cp.show(answer ->
{
int argb = 0xFF000000 | (Integer) answer;
botao.style(botao.getStyle().copy().backColor(argb));
});
अच्छे तरीके
- परिणाम को अपारदर्शी रंग के रूप में उपयोग करते समय alpha जोड़ना याद रखें (
0xFF000000 |)। - रद्दीकरण में
nullकी सिमेंटिक्स न खोने के लिएInteger(न किint) में cast करें।
सामान्य गलतियाँ
- परिणाम को alpha रहित उपयोग करना — पारदर्शी निकलता है (
0x00RRGGBB)। - रद्दीकरण में
onAnswerकी अपेक्षा करना — ट्रिगर नहीं होता (answer = null)।