15 Ocak 2017 Pazar

JavaFX Application Sınıfı - Kalıtmamız Gereken Sınıf

Giriş
Şu satırı dahil ederiz.
import javafx.application.Application;
Maven
JavaFX  JDK 11'den sonra kendi başına modül olduğu için şu satırı dahil ederiz
<dependency>
  <groupId>org.openjfx</groupId>
  <artifactId>javafx-controls</artifactId>
  <version>11</version>
</dependency>
Projenin ismi artık OpenJFX oldu. Bir açıklama şöyle
OpenJFX is being developed and utilized. It is going to be updated and enhanced, even if it is not a part of the main OpenJDK repository. 
Açıklaması şöyle. Bu sınıfın karşılığı Swing'te yok
JavaFX started as a scripting language named JavaFX script. Sun Microsystems intended to use it to compete with Adobe Flex (now Apache Flex) and Microsoft Silverlight to a lesser extent.

In 2010, at Java One, Oracle, which had bought Sun in the meantime, announced that it would stop the development of the language while keeping the API. With Java 8, released in 2014, JavaFX became the official successor of the Swing API: the latter just has just received bug fixes since then.

Compared to Swing, JavaFX adds an application abstraction.
Açıklaması şöyle. FXMLoader sınıfı yazısına bakabilirsiniz
... you can create a JavaFX user-interface by taking two different approaches:
1. Define all objects in pure Java code.
2. Use XML-based layout files (FXML) that integrate with Java code.
Şeklen şöyle


getHostServices metodu
Şöyle yaparız.
getHostServices().showDocument(getClass().
  getResource("computer_graphics_tutorial.pdf").toString());
launch metodu
Örnek
Şöyle yaparız.
public static void main(String[] args) {
  launch(args);
}
start metodu
Parametre olarak Stage nesnesi alır. Bir Scene gösterir.  Şöyle yaparız.
public class MyApp extends Application {

  @Override
  public void start(Stage primaryStage) {
    ...
    primaryStage.setScene(new Scene(area));
    primaryStage.show();
  }
  ...
}
Şöyle yaparız.
@Override
public void start(final Stage primaryStage) {
  ...

  Scene scene = new Scene(...,...,...);

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

Hiç yorum yok:

Yorum Gönder