यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
TimePicker
TimePicker घंटा और मिनट का चयन दो एनालॉग घड़ियों (बाईं ओर घंटे, दाईं ओर मिनट) के ज़रिए खींचने योग्य सुइयों के साथ करता है, या एक संख्यात्मक ग्रिड (सूची मोड) के ज़रिए। तीन बटनों से पुष्टि करता है: सुबह (AM), दोपहर (PM) और वर्तमान समय। यह पिकर के पैटर्न का पालन करता है (देखें Picker)।
🟡 · पैकेज:
dev.crossfly.ui.picker· विस्तार करता है:Picker· स्टाइल:TimePickerStyle
कब उपयोग करें
- एक समय (
HH:MM) एकत्र करना।
कब उपयोग न करें
- तारीख एकत्र करना →
DatePickerका उपयोग करें।
दिखावट
शीर्ष पर बड़ा डिस्प्ले (hh:mm), घड़ी/ग्रिड टॉगल बटन, घड़ियों का क्षेत्र (या संख्यात्मक ग्रिड) और सुबह / दोपहर / वर्तमान बटनों की एक पंक्ति। यह Screen.minSize का लगभग ~85% आकार लेता है।
पूर्ण उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)
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 hora");
abrir.onAction(c ->
{
TimePicker tp = new TimePicker().setTime(8, 30);
tp.show(answer -> Hint.show("Hora: " + (String) answer, 2000)); // "08:30"
});
add(LAY_AUTO, abrir);
}
}
नीचे दिए गए अंश केवल मुख्य भाग दिखाते हैं (जो
onShow()के अंदर जाता है)। चलाने के लिए, उन्हें ऊपर दिए गएMainWindowढाँचे में रखें।
बुनियादी उपयोग
TimePicker tp = new TimePicker();
tp.show(answer -> campoHora.setText((String) answer)); // "08:30"
कंस्ट्रक्टर
| कंस्ट्रक्टर | विवरण |
|---|---|
TimePicker() |
कोई पैरामीटर नहीं; वर्तमान समय पर शुरू होता है। |
गुण और अनुकूलन
| मेथड | प्रकार | क्या करता है |
|---|---|---|
setTime(int hour, int minute) |
0-23 / 0-59 (clamp) | समय को पूर्व-निर्धारित करता है। show() से पहले कॉल करें। |
timeStyle(TimePickerStyle) |
स्टाइल | कस्टम स्टाइल। |
getHour() / getMinute() |
int |
घंटा (0-23) / मिनट। |
getTimeText() |
String |
LocaleFormats.timeSeparator के साथ HH:MM (24 घंटे)। |
कॉलबैक और इवेंट
| कॉलबैक | कब सक्रिय होता है |
|---|---|
onSelect(Action) |
पुष्टि करने पर (TimePicker प्राप्त करता है)। |
show(onAnswer) |
बंद होने पर, String HH:MM देता है। |
getAnswer() हमेशा 24 घंटे HH:MM लौटाता है। लेबल और विभाजक LocaleFormats.is24Hour/timeSeparator का सम्मान करते हैं।
स्थितियाँ
- घड़ी मोड (
listMode=false) या संख्यात्मक ग्रिड (listMode=true), टॉगल द्वारा बदले जाते हैं। hide()को “वर्तमान समय” के टाइमर को बंद होने से पहले रोकने के लिए ओवरराइड किया गया है।
पूर्व-निर्धारित करना और चयन पर प्रतिक्रिया देना
TimePicker tp = new TimePicker().setTime(8, 30);
tp.onSelect(p -> Debug.log("Escolhido: " + ((TimePicker) p).getTimeText()));
tp.show(answer -> campoHora.setText((String) answer)); // "08:30"
अच्छी प्रथाएँ
setTimeकोshow()से पहले कॉल करें — कोणonShowमें पढ़े जाते हैं।- परिणाम हमेशा 24 घंटे का होता है; यदि आवश्यक हो तो ऐप के डिस्प्ले में 12 घंटे में बदलें।
आम गलतियाँ
show()के बादsetTime— पहले से बनाए गए UI में प्रतिबिंबित नहीं होता।answerमें 12 घंटे का प्रारूप मान लेना — यह हमेशाHH:MM24 घंटे होता है।
यह भी देखें
- क्षेत्र गाइड:
ui/· रेसिपी:cookbook/ - पैटर्न का आधार:
Picker - संबंधित घटक:
DatePicker