मुख्य सामग्री पर जाएँ
CrossFly 100% ओपन सोर्सGitHub पर फ़ॉलो करें
CrossFlyCrossFly
शुरू करें

यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।

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:MM 24 घंटे होता है।

यह भी देखें

  • क्षेत्र गाइड: ui/ · रेसिपी: cookbook/
  • पैटर्न का आधार: Picker
  • संबंधित घटक: DatePicker
क्या यह पृष्ठ उपयोगी था?