2017-11-10 6 views
0

私はオブジェクト指向プログラミング(VBAは私の起源言語でした)に慣れていません。そして、私は今Javaに手掛かりを得ています。GUIアプリケーションでのOOPプログラミング

私の最初のコンソールプログラムは、EnemiesPlayerItemsなどのようないくつかのクラスを持つ小さなテキストアドベンチャーでした。これは本当に私がOOPに入るのを助けました。

第二のアプリケーションは、私はいくつかのより多くのシーンやボタンなど、私は本当に得ることはありません

タスクプランナーのような他のより複雑なGUIアプリケーションを構築したいJavaFX

におけるGUIの計算でしたそのようなプロジェクトでクラスとオブジェクトを使用する方法。

は、私はちょうどこの のようにすべての方法の長いダウン、それを書くために傾向だ:

public class FirstGUI extends Application { 

    Scene scene1, scene2; 

@Override 
public void start(Stage primaryStage) { 

    primaryStage.setTitle("My First JavaFX GUI"); 

     //Scene 1 
     Label label1 = new Label("This is the first scene"); 
     Button button1 = new Button("Go to scene 2"); 
     button1.setOnAction(e -> primaryStage.setScene(scene2)); 
     VBox layout1 = new VBox(20); 
     layout1.getChildren().addAll(label1, button1); 
     scene1 = new Scene(layout1, 300, 250); 

     //Scene 2 
     Label label2 = new Label("This is the second scene"); 
     Button button2 = new Button("Go to scene 1"); 
     button2.setOnAction(e -> primaryStage.setScene(scene1)); 
     VBox layout2 = new VBox(20); 
     layout2.getChildren().addAll(label2, button2); 
     scene2 = new Scene(layout2, 300, 250); 

     primaryStage.setScene(scene1); 
     primaryStage.show(); 
    } 

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

} 

私はずっとシーンと異なるボタンを予定しています。しかし、私はClassesまたはObjectが私を助けてくれるのを見ていません。私はすべての私のボタン、写真、テーブル、物を定義し、それらをレイアウトに投げ込むように感じる私のnaturalここに行く方法です。

私は間違っていると思いますか? 「VBAの心」が私を騙している場合は誰かが私を助けてもらえますか?

+0

興味深い重要なトピックですが、この質問はあまりにもスタックオーバーフローの幅が広いです。ここでの質問は、具体的な解決方法を絞ったプログラミングの問題に焦点を当てる必要があります。幅広い議論は話題にはなりません。 http://www.JavaRanch.com/にアクセスすることをお勧めします。 –

答えて

1

これはjavafxの代わりにもっと一般的な質問として扱います。 1つの出発点は、ユーザーインターフェイスを論理セクションに分割し、それらをクラスにカプセル化することです。コンテナクラスを継承するクラスを持ち、トップレベルクラスでそれらのコンテナクラスを作成し、それら。これはあなたのトップレベルのクラスをもっときれいに保つでしょう。

これはもちろん、非常に一般的なものであり、出発点としてのものです。

0

これがあなたに役立つかどうかはわかりませんが...まずは、クラスは類似のオブジェクトを作成するための「テンプレート」です。プログラムのようなものが必要な場合は、そのようなテンプレートを作成し、必要に応じてオブジェクトを作成するために使用する必要があります。そうでなければ...強制しないでください。 :) JavaFXについての良い点は、FXMLを使用してビューを作成し、GUI機能を強化することができるだけでなく、コードを簡単にすることです。それを試して、それはあなたを助けるでしょう。

幸運:

関連する問題