Java Programming Hello FX

Java Programming Hello FX

Outline Winter Spring Circle Demo Java Programming Hello FX Alice E. Fischer Feb 16, 2015 Java Programming - Hello FX. 1/22 Outline Winter Spring Circle Demo Winter Colors Fonts Spring Circle Demo Java Programming - Hello FX. 2/22 Outline Winter Spring Circle Demo Example: Winter Introduction to fx Text and Fonts Color Applications, Stages, and Scenes start() Setting the Scene Java Programming - Hello FX. 3/22 Outline Winter Spring Circle Demo Introduction to fx I An fx Application is a GUI program that presents a window. I To use the GUI system, derive a class from Application. I Inside the application window is a Stage, on which you can display one Scene or another. I You can put text, shapes, and controls on the stage. I Fonts and colors can be created and used. Java Programming - Hello FX. 4/22 Outline Winter Spring Circle Demo Application, Stage, and Scene Title bar Application Window Title S t a Content g e A Scene with two Panes Panes Controls Java Programming - Hello FX. 5/22 Outline Winter Spring Circle Demo Java Packages and Classes we Need I These lines bring the names of the basic FX components into your namespace: import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; I Layouts allow you to arrange the display elements in Panes: import javafx.scene.layout.*; I The paint and text packages allow us to use colors and fonts: import javafx.scene.paint.*; import javafx.scene.text.*; Java Programming - Hello FX. 6/22 Outline Winter Spring Circle Demo An FX program is derived from Application I It does not have a main function or a constructor. I Instead, you override start(). I An Application creates a window with a title bar. I The part of the window below the title bar is called theStage. I We create Scenes and put them on the stage. I We create Panes and pack them into a Scene. I The items we want to display are packed into the Panes. I When all the parts are packed into a Scene, we put the Scene on the Stage: st.setScene(scene1) . I Then we make the window visible: st.show() . Java Programming - Hello FX. 7/22 Outline Winter Spring Circle Demo FX programs are derived from Application public class Winter extends Application { // Class data member declarations. Pane haiku = new Pane(); ... public void start( Stage st ){ ... } void setProps ( Text t, Font f, Color c ){ ... } } Java Programming - Hello FX. 8/22 Outline Winter Spring Circle Demo Colors Colors are defined as class members. Color c1 = new Color( .3, .3, .8, 1 ); // Hyacinth I The parameters to the Color constructor are the Red, Green, and Blue components of the color and the Opacity. I All are double numbers between 0 and 1. I Opacity = 1 means fully opaque. I Opacity = .5 means half-transparent. That is, the color of the image underneath, on the desktop, will partly show through. Java Programming - Hello FX. 9/22 Outline Winter Spring Circle Demo Colors Colors r= 1 r= 0 r= 0 g= 0 g= 1 g= 0 b= 0 b= 0 b= 1 r= 1 r= 0 r=.5 g=.5 g= 1 g= 0 b= 0 b=.5 b= 1 r= 1 r=.5 r=.7 g=.5 g= 1 g=.7 b=.5 b=.5 b= 1 r=.3 r= 1 r= 1 g=.3 g= 1 g= 1 b=.8 b=.5 b= 1 r=.3 r= 1 r=.5 g=.8 g=.5 g=.5 b=.3 b= 1 b=.5 r=.8 r=.5 r= 0 g=.3 g= 1 g= 0 b=.3 b= 1 b= 0 Java Programming - Hello FX. 10/22 Outline Winter Spring Circle Demo Fonts Fonts Proportional Fonts Serif fonts have hats and shoes that make the font more readable. This line is set in Times 14-point font. This line is set in Times 12-point font. This line is set in Times New Roman 12-point font. This line is set in Athelas 12-point font. Sans-Serif fonts are simple and look modern This line is set in Arial 12-point font. This line is set in Helvetica 12-point font. Fixed-Width Fonts Every letter in these fonts is the same width. Use for code and output. This line is set in Courier 12-point font. This line is set in Monoco 12-point font. Special-purpose fonts This line is set in Handwriting-Dakota 12-point font. This line is set in Herculaneum 12-point font. Tis line is set in Kokonor 12-point font. Java Programming - Hello FX. 11/22 Outline Winter Spring Circle Demo Fonts Fonts are defined as class members. Font f1 = Font.font ("Arial", FontWeight.BOLD, FontPosture.REGULAR, 24); Font f2 = Font.font ("Arial", FontWeight.NORMAL, FontPosture.ITALIC, 20); I FontWeight.BOLD, FontWeight.NORMAL, FontWeight.LIGHT gives boldface or ordinary non-boldface or light gray text. I FontPosture.ITALIC FontPosture.REGULAR gives slanted code or code that stands straight up. Java Programming - Hello FX. 12/22 Outline Winter Spring Circle Demo Fonts Messages are type Text A Text object has several properties: I A message. I A position, in xy coordinates. Position (0,0) is the upper left corner of the Stage. I A Font. I A Color. Some properties can be set by the constructor, some by later calls on set functions. Java Programming - Hello FX. 13/22 Outline Winter Spring Circle Demo Fonts Things to be displayed can be defined as class members. public class Winter extends Application { Text title = new Text(40, 40, "Winter"); Text l1 = new Text(50, 70, "Piercing cold, stiffness;"); Text l2 = new Text(50, 95, "Warmth of spring still far away,"); Text l3 = new Text(50, 120, "Many weeks to wait."); ... } Java Programming - Hello FX. 14/22 Outline Winter Spring Circle Demo Fonts A private utility function. // Set the font and color of a line of text at the same time. void setProps ( Text t, Font f, Color c ){ t.setFont(f); t.setFill(c); } Java Programming - Hello FX. 15/22 Outline Winter Spring Circle Demo Fonts Application An FX program is created by extending Application. I There is no main function. I Instead, you override start( Stage st ) I An Application creates a window with a title bar. I The part of the window below the title bar is called the Stage. I We create Scenes and put them on the stage. I We create Panes and pack them into a Scene. I The items we want to display are packed into the Panes. I When all the parts are packed into a Scene, we put the Scene on the Stage: st.setScene(scene1). I Then we make the window visible: st.show(). Java Programming - Hello FX. 16/22 Outline Winter Spring Circle Demo Fonts The import commands. I These lines bring the names of the basic FX components into your namespace: import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; I Layouts allow you to arrange the display elements in Panes: import javafx.scene.layout.*; I The paint package allows us to use colors: import javafx.scene.paint.*; I The text package allows us to use fonts: import javafx.scene.text.*; Java Programming - Hello FX. 17/22 Outline Winter Spring Circle Demo Spring This demo program is very much like Winter. The differences are that the code has been shortened by defining a more powerful helper function and it uses Color.GREEN instead of Color.BLUE Java Programming - Hello FX. 18/22 Outline Winter Spring Circle Demo Circle Demo: Review This program uses the following familiar things: I Application, Stage, Scene, Pane. I setTitle(), setScene(), and show() I Color grayBlue = new Color( .4, .4, .8, 1 ); I Three predefined colors: Color.WHITE, Color.BLUE, and Color.BLACK Java Programming - Hello FX. 19/22 Outline Winter Spring Circle Demo Circle Demo: New features This program uses the following new things: I javafx.scene.shape.Circle; I Circle c1 = new Circle(100, 100, 50, grayBlue) I The first two parameters in the circle constructor are the x and y coordinates of the center of the circle. I The third parameter is the radius and last is the color. I We set a black outline on one of the circles: c1.setStroke(Color.BLACK); The color of the shape and of its outline can be different. Java Programming - Hello FX. 20/22 Outline Winter Spring Circle Demo Placing the Parts of the Display To see the display elements, every one must be put into a pane, and the pane into a scene, and the scene onto the stage. I In this program, demo is a pane. I To put the circles into demo, we first need to get the list (currently empty) of the pieces that have previously been put there: demo.getChildren() I Then we add new parts to the end of the list: demo.getChildren().addAll( c1, c2, c3, c4 ); I The first things added can be covered up by things added later. The last thing shows. Java Programming - Hello FX. 21/22 Outline Winter Spring Circle Demo Make the Stage Visible At this point, we have constructed all of the objects that will be in the scene. I We create a new Scene with the desired dimensions. I We set the Scene on the stage. I Then we make it all visible. ... Scene sn = new Scene( demo, 200, 200 ); st.setScene(sn); st.show(); } Java Programming - Hello FX. 22/22.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    22 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us