javafx
बटन
खोज…
एक एक्शन श्रोता जोड़ना
जब वे सक्रिय हो जाते हैं तो बटन फायर एक्शन ईवेंट (जैसे क्लिक किया जाता है, बटन के लिए कीबाइंडिंग दबाया जाता है, ...)।
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
यदि आप जावा 8+ का उपयोग कर रहे हैं, तो आप एक्शन श्रोताओं के लिए लंबोदा का उपयोग कर सकते हैं।
button.setOnAction((ActionEvent a) -> System.out.println("Hello, World!"));
// or
button.setOnAction(a -> System.out.println("Hello, World!"));
एक बटन के लिए एक ग्राफिक जोड़ना
बटन में एक ग्राफिक हो सकता है। graphic किसी भी JavaFX नोड, एक तरह हो सकता है ProgressBar
button.setGraphic(new ProgressBar(-1));
एक ImageView
button.setGraphic(new ImageView("images/icon.png"));
या दूसरा बटन भी
button.setGraphic(new Button("Nested button"));
एक बटन बनाएँ
एक Button का निर्माण सरल है:
Button sampleButton = new Button();
यह बिना किसी पाठ या ग्राफिक के एक नया Button बनाएगा।
यदि आप किसी पाठ के साथ एक Button बनाना चाहते हैं, तो बस String को पैरामीटर के रूप में लेने वाले निर्माता का उपयोग करें (जो Button के textProperty को सेट करता है):
Button sampleButton = new Button("Click Me!");
यदि आप किसी ग्राफ़िक या किसी अन्य Node साथ एक Button बनाना चाहते हैं, तो इस कंस्ट्रक्टर का उपयोग करें:
Button sampleButton = new Button("I have an icon", new ImageView(new Image("icon.png")));
डिफ़ॉल्ट और रद्द करें बटन
Button एपीआई सामान्य कीबोर्ड शॉर्टकट को बटन पर असाइन करने का एक आसान तरीका प्रदान करता है, जो कि एक्सेलेनेटरों की सूची को Scene निर्दिष्ट करने या प्रमुख घटनाओं को स्पष्ट रूप से सुनने की आवश्यकता के बिना होता है। अर्थात्, दो सुविधा विधियाँ प्रदान की गई हैं: setDefaultButton और setCancelButton :
setDefaultButtonकोtrueसेट करने सेButtonको हर बार फायर करने का कारण बनेगा जब वहKeyCode.ENTERईवेंट प्राप्त करता है।setCancelButtonकोtrueसेट करने सेButtonको हर बार आग लगने का कारण बनता है कि वहKeyCode.ESCAPEईवेंट प्राप्त करता है।
निम्न उदाहरण दो बटन के साथ एक Scene बनाता है जिसे दर्ज या भागने की चाबियाँ दबाए जाने पर निकाल दिया जाता है, भले ही वे केंद्रित हों या नहीं।
FlowPane root = new FlowPane();
Button okButton = new Button("OK");
okButton.setDefaultButton(true);
okButton.setOnAction(e -> {
System.out.println("OK clicked.");
});
Button cancelButton = new Button("Cancel");
cancelButton.setCancelButton(true);
cancelButton.setOnAction(e -> {
System.out.println("Cancel clicked.");
});
root.getChildren().addAll(okButton, cancelButton);
Scene scene = new Scene(root);
यदि ये KeyEvents किसी भी मूल Node द्वारा उपभोग किए जाते हैं तो उपरोक्त कोड काम नहीं करेगा:
scene.setOnKeyPressed(e -> {
e.consume();
});