2012-12-29 17 views
6

क्या fxml फ़ाइलों में ऑनएक्शन विधियों को पैरामीटर पास करने का कोई तरीका है? वैकल्पिक रूप से, क्या मैं किसी भी तरह fx: आईडी की घटक प्राप्त कर सकता हूं जिसे ऑनएक्शन विधि कहा जाता है?javafx पास fx: fxml पर पैरामीटर नियंत्रक या पैरामीटर पर पैरामीटर

मेरे पास कई बटन हैं जो एक ही काम करना चाहिए, 5 बटन बटन के साथ 5 बटन कहें, बटन दबाए जाने पर, संबंधित संख्या 1-5 मुद्रित करना चाहिए। मैं 5 वैरिएशन विधियों को नहीं चाहता जो कि इस चर के समान हैं।

सराहना की किसी भी मदद की,

उत्तर

11

कॉल सिर्फ एक हैंडलर, actionEvent.source उद्देश्य यह है कि घटना जन्म लिया है।

इस प्रयास करें:

myButton1.setOnAction(new MyButtonHandler()); 
myButton2.setOnAction(new MyButtonHandler()); 

private class MyButtonHandler implements EventHandler<ActionEvent>{ 
    @Override 
    public void handle(ActionEvent evt) { 
     if (evt.getSource().equals(myButton1)) { 
      //do something 
     } else if (evt.getSource().equals(myButton2)) { 
      //do something 
     } 
    } 
} 

या:

myButton1.addEventHandler(ActionEvent.ACTION, new MyButtonHandler()); 
myButton2.addEventHandler(MouseEvent.CLICKED, new MyButtonHandler()); 

private class MyButtonHandler implements EventHandler<Event>{ 
    @Override 
    public void handle(Event evt) { 
     if (evt.getSource().equals(myButton1)) { 
      //do something 
     } else if (evt.getSource().equals(myButton2)) { 
      //do something 
     } 
    } 
} 
+0

धन्यवाद, मुझे, Ctrl + C का एक बहुत बचाया Ctrl + V – glasspill

+0

हाय HMarioD, आप कोड उदाहरण के दे सकते हैं, कृपया? मुझे नहीं मिला –

+1

@DmitryNelepov मैं कुछ उदाहरणों के साथ जवाब संपादित कर रहा था, उम्मीद है कि यह आपकी मदद करेगा। – HMarioD