Java GUI应用程序中的OOP编程
我是面向对象编程的新手(VBA是我的源语言),现在我正在学习Java以获得关于它的线索 我的第一个控制台程序是一个小的文本冒险,其中包含了一些类,如Java GUI应用程序中的OOP编程,java,oop,user-interface,javafx,Java,Oop,User Interface,Javafx,我是面向对象编程的新手(VBA是我的源语言),现在我正在学习Java以获得关于它的线索 我的第一个控制台程序是一个小的文本冒险,其中包含了一些类,如敌人,玩家,项目等等,这确实帮助我进入了OOP 第二个应用程序是JavaFX 我想构建另一个更复杂的GUI应用程序,比如带有更多场景和按钮的任务规划器 我真的不知道如何在这样的项目中使用类和对象 我倾向于把它写下来,就像这个例子: 我计划了更多的场景和不同的按钮。但是把所有的东西分解一下,我看不出制作类或对象对我有什么帮助。我想定义我所有的按钮、图片
敌人
,玩家
,项目
等等,这确实帮助我进入了OOP
第二个应用程序是JavaFX
我想构建另一个更复杂的GUI应用程序,比如带有更多场景和按钮的任务规划器
我真的不知道如何在这样的项目中使用类和对象
我倾向于把它写下来,就像这个例子:
我计划了更多的场景和不同的按钮。但是把所有的东西分解一下,我看不出制作类
或对象
对我有什么帮助。我想定义我所有的按钮、图片、表格和东西,并将它们放到布局中,这是我的自然方法
我想错了吗?如果只是“VBA思维”在欺骗我,有人可以帮助我吗?我将把这当作一个更一般的问题,而不仅仅是针对javafx。一个起点可能是将用户界面拆分为逻辑部分,并将其封装到类中。因此,您可能拥有从容器类继承的类,而在顶级类中,您只需组合这些容器类并处理其中的细节。这将使您的顶级课程更干净
当然,这只是一个非常通用的概念,只是作为一个起点。嗯,不确定这是否能帮助你,但是。。。首先,类是创建类似对象的“模板”。如果您在程序中需要类似的东西,您应该创建这样的模板,并在需要时使用它来创建对象。如果不是……那就不要强迫它。:)JavaFx的好处是,您可以使用FXML创建视图,从而增强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);
}
}