2017-01-23 11 views
-1

私たちはJavaFXを学習していますが、私はこのレッスンではありませんでした!私は今学ぶことを試みていますが、問題は次のとおりです。javaFXでこの@overrideメソッドを取得する方法は?

このメソッドを他の名前で作成した場合、このメソッドは機能しません。 このオーバーライドメソッドを簡単に作成する方法がオーバーライドされていますか?そして誰かが私にJavaFXのソースを教えてもらえますか?ここで

は私のクラスです:

public class CounterModel { 

    private int counter = 0; 

    public int getCounter() { 
     return counter; 
    } 

    public void setCounter(int counter) { 
     this.counter = counter; 
    } 

    public void increase() { 
     counter++; 
    } 
} 

////////////////////////////////// /////////////////////////////

package counter; 

import javafx.application.Application; 
import javafx.event.ActionEvent; 
import javafx.event.EventHandler; 
import javafx.geometry.Pos; 
import javafx.scene.Scene; 
import javafx.scene.control.Button; 
import javafx.scene.control.Label; 
import javafx.scene.layout.BorderPane; 
import javafx.stage.Stage; 

public class CounterUI extends Application { 

    private Button clickme; 
    private Label output; 
    private static String PREFIX = "Number of Clicks: "; 
    private CounterModel model; 

    public static void main(String[] args) { 
     launch(args); 
    } 

    @Override 
    public void init() throws Exception { 
     model = new CounterModel(); 
     initButton(); 
     initLabel(); 
    } 

    private void initButton() { 
     clickme = new Button("Click Me!"); 
     clickme.setPrefWidth(100); 
     clickme.setPrefHeight(50); 
     clickme.setOnAction(new EventHandler<ActionEvent>() { 
      @Override 
      public void handle(ActionEvent arg0) { 
       model.increase(); 
       output.setText(PREFIX+model.getCounter()); 
      }} 
     ); 
    } 

    private void initLabel() { 
     output=new Label(PREFIX+model.getCounter()); 
    } 

    @Override 
    public void start(Stage primaryStage) throws Exception { 
     primaryStage.setTitle("Click to Count"); 
     BorderPane root = new BorderPane(); 
     BorderPane.setAlignment(output, Pos.CENTER); 
     root.setCenter(clickme); 
     root.setBottom(output); 
     primaryStage.setScene(new Scene(root,300,250)); 
     primaryStage.show();   
    } 
} 
+0

"私はこのメソッドが動作していない以外の名前でこのinit()メソッドを書いた場合"、OOPとJavaについての知識を得るには、以下のリンクを参照する必要があります。その後、名前を変更しようとしないでください。 –

+0

@meert Java標準ライブラリから何かを上書きする場合は、javadocで何が行われているかについての少なくとも基本的な情報を見つけることができます。https://docs.oracle.com/javase/8/javafx/api/ javafx/application/Application.html#init-- – fabian

+0

ありがとう! @fabian – meert

答えて

関連する問題