我真的很喜欢我可以从main方法调用类/对象。这样我就不会在main方法中使用完整的代码(这不会真的像对象编程一样)。
现在我有一个使用JavaFX绘制一条线的简单代码。该行是一个节点,位于场景内。但这一切都在主要方法中。
我的主要课程名为示例。它包含整个代码
我试过了:
public static LineClass extends Example
然后我确实在那里放了适当的代码。编译器没有让我编译它因为需要从main方法调用launch()。然后我做了编译器要求我做的事情,但它只会发现更多错误。
我的代码(工作时):
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Line;
import javafx.stage.Stage;
public class DrawingLine extends Application{
@Override
public void start(Stage stage) {
//Creating a line object
Line line = new Line();
//Setting the properties to a line
line.setStartX(100.0);
line.setStartY(150.0);
line.setEndX(500.0);
line.setEndY(150.0);
//Creating a Group
Group root = new Group(line);
//Creating a Scene
Scene scene = new Scene(root, 600, 300);
//Setting title to the scene
stage.setTitle("Sample application");
//Adding the scene to the stage
stage.setScene(scene);
//Displaying the contents of a scene
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
如何为更多类分割代码(假设每个类都有自己的.class文件)?我的目标是在不同的.class文件中使用Line对象/节点的JavaFX代码(图形),而不是在main方法中使用所有代码以避免混乱。提前谢谢。
答案 0 :(得分:1)
只需创建另一个具有所需功能的类,并从start()
实例化它。
import javafx.scene.Group ;
import javafx.scene.Parent ;
import javafx.scene.shape.Line ;
public class LineClass {
private final Group root ;
public LineClass() {
//Creating a line object
Line line = new Line();
//Setting the properties to a line
line.setStartX(100.0);
line.setStartY(150.0);
line.setEndX(500.0);
line.setEndY(150.0);
root = new Group(line);
}
public Parent getView() {
return root ;
}
}
然后
import javafx.application.Application ;
import javafx.scene.stage.Stage ;
import javafx.scene.Scene ;
public class DrawingLine extends Application{
@Override
public void start(Stage stage) {
LineClass lc = new LineClass();
//Creating a Scene
Scene scene = new Scene(lc.getView(), 600, 300);
//Setting title to the scene
stage.setTitle("Sample application");
//Adding the scene to the stage
stage.setScene(scene);
//Displaying the contents of a scene
stage.show();
}
public static void main(String args[]){
launch(args);
}
}