Compare JavaFX with swing. Explain HBox and VBox layouts of JavaFX.

 JavaFX vs. SWING

Swing, AWT, JavaFX all are a part of JDK and are used to create Graphical User Interface (GUI) with JavaFX being one of the latest entrants in this list. Key differences between JavaFX and Swing is provided below.

Swing

1. Swing is the standard toolkit for Java developers in creating GUI

2. Swing has a more sophisticated set of GUI components

3. Swing is a legacy library that fully features and provide pluggable UI components

4. Swing has a UI component library and act as a legacy

5. Swing does not have support for customization using CSS and XML

6. With Swing, it is very difficult to create beautiful 3-D applications.


JavaFX

1. JavaFX provides platform support for creating desktop applications.

2. JavaFX has a decent number of UI components available but lesser than what Swing provides.

3. JavaFX has UI components that are still evolving with a more advanced look and feel.

4. JavaFX has several components built over Swing

5. JavaFX has support for customization using CSS and XML 

6. With JavaFX one can also create beautiful 3-D applications.


2nd part

JavaFX HBox

HBox layout pane arranges the nodes in a single row. It is represented by javafx.scene.layout.HBox class. We just need to instantiate HBox class in order to create HBox layout.


Constructors

The HBox class contains two constructors that are given below.

new HBox() : create HBox layout with 0 spacing

new Hbox(Double spacing) : create HBox layout with a spacing value

Example

package application;  

import javafx.application.Application;  

import javafx.scene.Scene;  

import javafx.scene.control.Button;  

import javafx.scene.layout.HBox;  

import javafx.stage.Stage;  

public class Label_Test extends Application {  

@Override  

public void start(Stage primaryStage) throws Exception {  

Button btn1 = new Button("Button 1");  

Button btn2 = new Button("Button 2");  

HBox root = new HBox();  

Scene scene = new Scene(root,200,200);  

root.getChildren().addAll(btn1,btn2);  

primaryStage.setScene(scene);  

primaryStage.show();  

}  

public static void main(String[] args) {  

        launch(args);  

}      

}  


JavaFX VBox
Instead of arranging the nodes in horizontal row, Vbox Layout Pane arranges the nodes in a single vertical column. It is represented by javafx.scene.layout.VBox class which provides all the methods to deal with the styling and the distance among the nodes. This class needs to be instantiated in order to implement VBox layout in our application.

Constructors
VBox() : creates layout with 0 spacing
Vbox(Double spacing) : creates layout with a spacing value of double type
Vbox(Double spacing, Node? children) : creates a layout with the specified spacing among the specified child nodes
Vbox(Node? children) : create a layout with the specified nodes having 0 spacing among them

Example
package application;  
import javafx.application.Application;  
import javafx.scene.Scene;  
import javafx.scene.control.Button;  
import javafx.scene.layout.VBox;  
import javafx.stage.Stage;  
public class Label_Test extends Application {   
    @Override  
    public void start(Stage primaryStage) throws Exception {  
        Button btn1 = new Button("Button 1");  
        Button btn2 = new Button("Button 2");  
        VBox root = new VBox();  
        Scene scene = new Scene(root,200,200);  
        root.getChildren().addAll(btn1,btn2);  
        primaryStage.setScene(scene);  
        primaryStage.show();  
    }  
    public static void main(String[] args) {  
        launch(args);  
    }        
}  

Comments

Popular posts from this blog

Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

Suppose that a data warehouse consists of the four dimensions; date, spectator, location, and game, and the two measures, count and charge, where charge is the fee that a spectator pays when watching a game on a given date. Spectators may be students, adults, or seniors, with each category having its own charge rate. a) Draw a star schema diagram for the data b) Starting with the base cuboid [date; spectator; location; game], what specific OLAP operations should perform in order to list the total charge paid by student spectators at GM Place in 2004?

Discuss classification or taxonomy of virtualization at different levels.