46 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, 2017

Size: px
Start display at page:

Download "46 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, 2017"

Transcription

1 46 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, FXML and CSS A program intended for interactive use may provide a large number of user interface (UI) components, as shown here: The UI shown above is implemented using Java Swing and all the menu items, buttons, labels, tree views etc. are implemented in procedual code; all items are created, layouted and have functionality associated with them using Java code. The perferred way to build a UI in the context of JavaFX is not to use to procedual code but rather to specify the UI using FXML. FXML features 1 : it is a scriptable, XML-based markup language allows one to construct Java object graphs provides an alternative to using procedural code is ideally suited for defining the UI of a JavaFX program because the hierarchial structure of an XML document mirrors the structure of a scene graph FXML FXML provides elements for representing: class instances properties of class instances static properties define blocks scriptable code In the following we discuss some of the main features of FXML, with the goal of getting a basic understanding of how FXML operates. We will be using an interactive tool called SceneBuilder to create FXML files. 1 This chapter is based on: Introducing FXML - A Markup Language for JavaFX, Greg Brown, 8/15/2011, http: //fxexperience.com/wp-content/uploads/2011/08/introducing-fxml.pdf

2 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, Creating class instances Class instances can be constructed in FXML in several ways: instance declaration by name referencing or copying existing instances, e.g. from included external FXML files For example, a Label object with the text Hello World! can be constructed as follows: <j a v a f x. scene. c o n t r o l. Label t e x t= Hello, World! /> or <?import j a v a f x. scene. c o n t r o l. Label?> <Label t e x t= Hello, World! /> FXML supports more advanced constructs as well. For example, if you want to setup a HashMap and provide some entries, then that can be done as follows: <HashMap peptidea= AVVLPVLVAVAC peptideb= GGGHGHGEEGEC /> This will create a map with two key-value pairs: (peptidea,avvlpvlvavac) and (peptideb,ggghghgeegec). Classes that provide a valueof() method can be inialized as shown in these examples: <S t r i n g f x : value= Hello, World! /> <Double f x : value= 1. 0 /> <Boolean f x : value= f a l s e /> FXML supports the use of factories and builders to setup instances of classes. For example, the following produces a color object: <Color red= 1. 0 green= 0. 0 blue= 0. 0 /> Properties If an element represents a property setter, the contents of the element (which must be either a text node or a nested class instance element) are passed as the value to the setter for the property, like this: <?import j a v a f x. scene. c o n t r o l. Label?> <Label> <text >Hello, World!</ text > </Label> This has the same effect as the construct reported above: <?import j a v a f x. scene. c o n t r o l. Label?> <Label t e x t= Hello, World! /> FXML uses type coercion to convert property values to the appropriate type as needed. This is required because XML only supports elements, text and attributes with text values. However, Java supports a number of different data types including built- in primitive value types as well as extensible reference types. For example, based on type coercion, this works as intended: <Rectangle x= 10 y= 10 width= 320 h e i g h t= 240 f i l l = #f f /> The result is a Rectangle object with the given dimensions and fill color. FXML provides a mechanism for adding elements to a list, for example, this adds children to a group:

3 48 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, 2017 <Group> <Rectangle f x : i d= r e c t a n g l e x= 10 y= 10 width= 320 h e i g h t= 240 f i l l = #f f />... </Group> Static properties Static properties are usually defined by some other class (often, the parent container of a control). For example, when using a grid pane in procedural code, you may want to do something like this: GridPane gridpane = new GridPane ( ) ; Label label = new Label ( ) ; label. settext ( My Label ) ; GridPane. setrowindex ( label, 0 ) ; GridPane. setcolumnindex ( label, 0 ) ; gridpane. g e t C h i l d r e n ( ). add ( label ) ; This can be expressed like this in FXML: <GridPane> <Label t e x t= My Label > <GridPane. rowindex >0</GridPane. rowindex> <GridPane. columnindex >0</GridPane. columnindex> </Label> </GridPane> Define blocks FXML allows one to create objects that exist outside of the object hierarchy and need to be referred to. For example, recall that a ToggleGroup object is required to link a set of radio buttons. This shows how to do this: <VBox> <f x : d e f i n e > <ToggleGroup f x : i d= mytogglegroup /> </f x : d e f i n e > <RadioButton t e x t= A togglegroup= $mytogglegroup /> <RadioButton t e x t= B togglegroup= $mytogglegroup /> <RadioButton t e x t= C togglegroup= $mytogglegroup /> </VBox> Referencing elements How to reference the toggle group in the previous example? An FXML document defines a variable namespace in which elements can be uniquelly named and identified. Assigning an fx:id value to an element creates a variable that can later be referenced. Above, we use fx:id="mytogglegroup" to setup a name for the toggle group and then use "$mytogglegroup" to reference it. The $ is known as the variable resolution operator.

4 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, Additionally, if the corresponding object s type has an id property, then the value will be passed to the objects setid() method Binding expressions FXML allows one to setup bindings between properties of different controls. For example, the following binds the text property of a label to the text property of a TextInput object: <TextInput f x : i d= t e x t I n p u t /> <Label t e x t= ${ t e x t I n p u t. t e x t /> To distinguish a binding from a simple setting of the property, the variable name must be enclosed by curly brackets (after the variable resolution operator $) Event handling We can add behaviors to elements by defining event handlers for any class that defines a seton<event>() method. Similarly, we can setup listeners for property changes. There are two ways to do this: A script event handler defines the functionality in the FXML file using a scripting language. A controller event handler is provided by the Java controller class (discussed below) associated with the FXML document and the functionality is implemented in Java. Here is an example of functionality implemented in JavaScript: <?language j a v a s c r i p t?>... <VBox> <Button t e x t= C l i c k Me! onaction= java. lang. System. out. p r i n t l n ( You c l i c k e d me! ) ; /> </VBox> The script part of this construct can be placed in a separate file (called clickme.js, say), to keep the code separate from the markup for better readability. For more complex functionality, it is preferable to implement this in your Java program. The attribute fx:controller allows one to associate a controller class with an FXML document. This class implements the code that corresponds to the object hierarchy defined in the FXML document. Here is a simple example of a controller class: package mypackage ; public class MyController { public void handlebuttonaction ( ActionEvent event ) { System. out. p r i n t l n ( You c l i c k e d me! ) ; This is how to reference this in FXML: <VBox f x : c o n t r o l l e r= mypackage. MyController xmlns : f x= http : / / j a v a f x. com/ fxml > <Button t e x t= C l i c k Me! onaction= #handlebuttonaction /> </VBox>

5 50 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, 2017 Clicking on the button will cause the Java method handlebuttonaction(event) to be called and the text You clicked me! to be written to the console The controller class While the previous example does work, in practice there are two additional issues to discuss. First, the controller class should implement the interface javafx.fxml.initializable and provide a method with this signature: public void i n i t i a l i z e (URL l o c a t i o n, Resources r e s o u r c e s ) ; This method gets called once the FXML document has been parsed and allows the program to initialize stuff. This is useful in the context of instance variable injection. For example, consider this FXML code: <VBox f x : c o n t r o l l e r= mypackage. MyController xmlns : f x= http : / / j a v a f x. com/ fxml > <Button f x : i d= button t e x t= C l i c k Me! /> </VBox> Here, an identifier fx:id=button is assigned to the button and it can be used in the controller class to access the button. If the controller class contains a Button member field called button and when the controller is constructed by the FXML loader, then a reference to the button is injected into the variable. This allows the following code to work: package mypackage ; public class MyController implements I n i t i a l i z a b l e { public Button button ; // w i l l g e t i n j e c t e d public void i n i t i a l i z e (URL l o c a t i o n, Resources r e s o u r c e s ) button. setonaction (new EventHandler<ActionEvent >() { public void handle ( ActionEvent event ) { System. out. p r i n t l n ( You c l i c k e d me! ) ; ) ; In this example, the button must be declared as a public member field to allow injection. However, we generally do not want to allow direct access to member fields. (This is the second issue.) To allow injection into private member fields, one can use the FXML annotation: package mypackage ; public class MyController implements I n i t i a l i z a b l e private Button button ; public void i n i t i a l i z e (URL l o c a t i o n, Resources r e s o u r c e s ) button. setonaction (new EventHandler<ActionEvent >() { public void handle ( ActionEvent event ) { System. out. p r i n t l n ( You c l i c k e d me! ) ; ) ;

6 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, Here is an example that shows how the FXML file is loaded and how one can access the corresponding controller object. Note that in this example all three files are contained in the same package: public class BlastProgram extends A p p l i c a t i o n { public void s t a r t ( Stage primarystage ) throws Exception { FXMLLoader fxmlloader=new FXMLLoader ( ) ; Parent r o o t ; try ( InputStream i n s=g e t C l a s s ( ). getresource ( BlastProgram. fxml ). openstream ( ) ) { r o o t=fxmlloader. load ( i n s ) ; B l a s t C o n t r o l l e r b l a s t C o n t r o l l e r=fxmlloader. g e t C o n t r o l l e r ( ) ; // can do something with t h e c o n t r o l l e r here... primarystage. s e t S c e n e (new Scene ( root, 8 0 0, ) ) ; primarystage. s e t T i t l e ( NCBI B l a s t C l i e n t ) ; primarystage. show ( ) ; 11.2 SceneBuilder For the project, please use the program SceneBuilder to design your UI. You should use one FXML file per window or complex dialog. In the Model-View-Presenter pattern, your FXML files can be considered part of the View, whereas your controller classes are part of the Presenter (or Controller in MVC). Please name files so that it is clear how they belong together. For example, if you are writing a program for viewing PDB files and the main program is implemented in PDBViewer.java, then the FXML file defining the main GUI should be called PDBViewer.fxml and the controller program should be called PDBViewerController.java. Once you have an FXML file in your source tree and you have setup SceneBuilder correctly, then Intellij will let you launch the program directly like this: SceneBuilder is an interactive program for setting up your UI. It produces an FXML file as discussed above. This is what a simple project might look like in SceneBuilder:

7 52 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, 2017 Stuff to add Contains Controls Menu items Shapes etc Hierarchy Set controller here Editable layout Properties layout fx:id etc of individual controls This is how you define the fx:id for an element (in this case, the apply button). Select the item in the left hand hierachical view, or in the center layout, and then use the bottom right panel to set the variable: The Show Preview in Window menu item allows you to test your UI: The Show Sample Controller Skeleton menu item allows you to preview and copy the basic structure of the controller file that should be associated with this FXML file:

8 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, CSS What is CSS (Cascading Style Sheets)? 2 A language for describing the presentation of Web pages, including colors, layout, and fonts. It allows one to adapt the presentation to different types of displays. It is independent of HTML and can be used with any XML-based markup language. The separation of HTML from CSS makes it easier to maintain sites, share style sheets across pages, and tailor pages to different environments. Similar is true for seperation between programming logic, FXML and CSS. Allows separation of structure and content from presentation. CSS can be used to determine the presentation of nodes in the JavaFX scene graph. There are three issues to discuss: How to select nodes for styling? What properties do nodes have for styling? How to actually apply styling to the selected nodes? This is the general syntax of CSS:.my-button { color:blue; font-size:12px... selector prop:value prop:value The selector defines the set of elements to which the style should be applied, whereas the property-value pairs define the properties and their values. One can select nodes by their type; use the Java method gettypeselector() to obtain the type selector of a node. Each node in the scene-graph has a styleclass property. This is analogous to the class=... attribute used in HTML and can be used to select by class. Each node in the scene-graph has a string id and this can be used by id selectors. We won t look at this in detail, but here are some examples: 2 Source:

9 54 Advanced Java for Bioinformatics, WS 17/18, D. Huson, December 21, r o o t { fx font s i z e : 16 pt ; fx font f a m i l y : Courier New ; fx base : rgb (132, 145, 4 7 ) ; fx background : rgb (225, 228, ) ; Here the selector is the root node of the scene graph and this style is applied to all nodes in the graph. This code sets the color of a check box that has focus to golden:. check box : f o c u s e d { fx c o l o r : golden ; This is one way to use selection by id: Button buttonfont = new Button ( Font ) ; buttonfont. s e t I d ( font button ) ; We can now specify some CSS for this specific id: #f ont button { fx f o n t : bold i t a l i c 20 pt A r i a l ; fx e f f e c t : dropshadow ( one pass box, black, 8, 0. 0, 2, 0 ) ; A CSS file can be loaded into a scene like this: scene. g e t S t y l e s h e e t s ( ). add ( path / mystyle. c s s ) ; CSS styling elements can be applied in Java code like this: Button abutton = new Button ( Color ) ; abutton. s e t S t y l e ( fx background c o l o r : s l a t e b l u e ; fx text f i l l : white ; ) ; The SceneBuilder program allows one to define CSS for nodes in the FXML file. For each Node, there are many different properties that can be styled using CSS, see the documentation for details: html Here is an example of a styled dialog:

C16a: Model-View-Controller and JavaFX Styling

C16a: Model-View-Controller and JavaFX Styling CISC 3120 C16a: Model-View-Controller and JavaFX Styling Hui Chen Department of Computer & Information Science CUNY Brooklyn College 3/28/2018 CUNY Brooklyn College 1 Outline Recap and issues Model-View-Controller

More information

C15: JavaFX: Styling, FXML, and MVC

C15: JavaFX: Styling, FXML, and MVC CISC 3120 C15: JavaFX: Styling, FXML, and MVC Hui Chen Department of Computer & Information Science CUNY Brooklyn College 10/19/2017 CUNY Brooklyn College 1 Outline Recap and issues Styling user interface

More information

Advanced Java for Bioinformatics Winter 2017/18. Prof. Daniel Huson

Advanced Java for Bioinformatics Winter 2017/18. Prof. Daniel Huson Advanced Java for Bioinformatics, WS 17/18, D. Huson, November 8, 2017 1 1 Introduction Advanced Java for Bioinformatics Winter 2017/18 Prof. Daniel Huson Office hours: Thursdays 17-18h (Sand 14, C310a)

More information

JavaFX Basics. Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved. 1.

JavaFX Basics. Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved. 1. JavaFX Basics rights reserved. 1 Motivations JavaFX is a new framework for developing Java GUI programs. The JavaFX API is an excellent example of how the object-oriented principle is applied. This chapter

More information

c 2017 All rights reserved. This work may be distributed or shared at no cost, but may not be modified.

c 2017 All rights reserved. This work may be distributed or shared at no cost, but may not be modified. Introduction to JavaFX for Beginner Programmers Robert Ball, Ph.D. August 16, 2017 Version 0.1.4 c 2017 All rights reserved. This work may be distributed or shared at no cost, but may not be modified.

More information

JAVAFX 101 [CON3826]

JAVAFX 101 [CON3826] JAVAFX 101 [CON3826] Alexander Casall sialcasa JavaFX Script 1.0 Script Language Flash Successor 1.3 JavaFX 2.0 Java API OpenJFX JavaFX 8 Classpath 3D API Printing 8.X Accessibility, Controls... F3 Today

More information

COMP6700/2140 Scene Graph, Layout and Styles

COMP6700/2140 Scene Graph, Layout and Styles COMP6700/2140 Scene Graph, Layout and Styles Alexei B Khorev and Josh Milthorpe Research School of Computer Science, ANU May 2017 Alexei B Khorev and Josh Milthorpe (RSCS, ANU) COMP6700/2140 Scene Graph,

More information

Multimedia-Programmierung Übung 3

Multimedia-Programmierung Übung 3 Multimedia-Programmierung Übung 3 Ludwig-Maximilians-Universität München Sommersemester 2015 JavaFX Version 8 What is JavaFX? Recommended UI-Toolkit for Java 8 Applications (like e.g.: Swing, AWT) Current

More information

JavaFX a Crash Course. Tecniche di Programmazione A.A. 2017/2018

JavaFX a Crash Course. Tecniche di Programmazione A.A. 2017/2018 JavaFX a Crash Course Tecniche di Programmazione JavaFX applications 2 Application structure Stage: where the application will be displayed (e.g., a Windows window) Scene: one container of Nodes that compose

More information

Event-Driven Programming with GUIs. Slides derived (or copied) from slides created by Rick Mercer for CSc 335

Event-Driven Programming with GUIs. Slides derived (or copied) from slides created by Rick Mercer for CSc 335 Event-Driven Programming with GUIs Slides derived (or copied) from slides created by Rick Mercer for CSc 335 Event Driven GUIs A Graphical User Interface (GUI) presents a graphical view of an application

More information

JavaFX. Skinning JavaFX Applications with CSS Release 2.2 E

JavaFX. Skinning JavaFX Applications with CSS Release 2.2 E JavaFX Skinning JavaFX Applications with CSS Release 2.2 E20470-06 June 2013 Learn how to skin your JavaFX applications using cascading style sheets (CSS) to create a custom look. JavaFX/Skinning JavaFX

More information

springboot-javafx-support Documentation Release latest

springboot-javafx-support Documentation Release latest springboot-javafx-support Documentation Release latest Nov 25, 2017 Contents 1 0. Prerequisites 3 2 1. Generate your GUI with FXML using SceneBuilder 5 3 2. Create your view classes 7 4 3. Create a Controller,

More information

JavaFX a Crash Course. Tecniche di Programmazione A.A. 2016/2017

JavaFX a Crash Course. Tecniche di Programmazione A.A. 2016/2017 JavaFX a Crash Course Tecniche di Programmazione Key concepts in JavaFX Stage: where the application will be displayed (e.g., a Windows window) Scene: one container of Nodes that compose one page of your

More information

JavaFX. Getting Started with JavaFX Scene Builder Release 1.1 E

JavaFX. Getting Started with JavaFX Scene Builder Release 1.1 E JavaFX Getting Started with JavaFX Scene Builder Release 1.1 E25448-03 October 2013 JavaFX Getting Started with JavaFX Scene Builder, Release 1.1 E25448-03 Copyright 2012, 2013 Oracle and/or its affiliates.

More information

JavaFX a Crash Course. Tecniche di Programmazione A.A. 2015/2016

JavaFX a Crash Course. Tecniche di Programmazione A.A. 2015/2016 JavaFX a Crash Course Tecniche di Programmazione Key concepts in JavaFX Stage: where the application will be displayed (e.g., a Windows window) Scene: one container of Nodes that compose one page of your

More information

Java Foundations. 9-1 Introduction to JavaFX. Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Java Foundations. 9-1 Introduction to JavaFX. Copyright 2014, Oracle and/or its affiliates. All rights reserved. Java Foundations 9-1 Copyright 2014, Oracle and/or its affiliates. All rights reserved. Objectives This lesson covers the following objectives: Create a JavaFX project Explain the components of the default

More information

Beautiful User Interfaces with JavaFX

Beautiful User Interfaces with JavaFX Beautiful User Interfaces with JavaFX Systémes d acquisition 3EIB S. Reynal September 20, 2017 The current document is dedicated to giving you a small and quick insight into the JavaFX API, an extra Java

More information

Week 12 Thursday. For milestone #2 and #3, also submit a screenshot of your GUI once it is launched.

Week 12 Thursday. For milestone #2 and #3, also submit a screenshot of your GUI once it is launched. Week 12 Thursday D-Teams have been created Create your A-Team by Friday, or let me know to assign you earlier. Team Project: Tournament-Bracket (D-Team 30 pts) Milestone #1: due before 10pm THIS Friday,

More information

Composite Pattern Diagram. Explanation. JavaFX Subclass Hierarchy, cont. JavaFX: Node. JavaFX Layout Classes. Top-Level Containers 10/12/2018

Composite Pattern Diagram. Explanation. JavaFX Subclass Hierarchy, cont. JavaFX: Node. JavaFX Layout Classes. Top-Level Containers 10/12/2018 Explanation Component has Operation( ), which is a method that applies to all components, whether composite or leaf. There are generally many operations. Component also has composite methods: Add( ), Remove(

More information

Web Design and Development ACS-1809

Web Design and Development ACS-1809 Web Design and Development ACS-1809 Chapter 4 Cascading Style Sheet Cascading Style Sheets A style defines the appearance of a document A style sheet - a file that describes the layout and appearance of

More information

Assignments (4) Assessment as per Schedule (2)

Assignments (4) Assessment as per Schedule (2) Specification (6) Readability (4) Assignments (4) Assessment as per Schedule (2) Oral (4) Total (20) Sign of Faculty Assignment No. 02 Date of Performance:. Title: To apply various CSS properties like

More information

IT6503 WEB PROGRAMMING. Unit-I

IT6503 WEB PROGRAMMING. Unit-I Department of Information Technology Question Bank- Odd Semester 2015-2016 IT6503 WEB PROGRAMMING Unit-I SCRIPTING 1. What is HTML? Write the format of HTML program. 2. Differentiate HTML and XHTML. 3.

More information

2. Write style rules for how you d like certain elements to look.

2. Write style rules for how you d like certain elements to look. CSS for presentation Cascading Style Sheet Orientation CSS Cascading Style Sheet is a language that allows the user to change the appearance or presentation of elements on the page: the size, style, and

More information

Cascading style sheets, HTML, DOM and Javascript

Cascading style sheets, HTML, DOM and Javascript CSS Dynamic HTML Cascading style sheets, HTML, DOM and Javascript DHTML Collection of technologies forming dynamic clients HTML (content content) DOM (data structure) JavaScript (behaviour) Cascading Style

More information

PROGRAMMIERPRAKTIKUM GRAPHICAL USER INTERFACES. Tobias Witt

PROGRAMMIERPRAKTIKUM GRAPHICAL USER INTERFACES. Tobias Witt PROGRAMMIERPRAKTIKUM GRAPHICAL USER INTERFACES Tobias Witt K.O.-SYSTEM Korrekt Oida! Jeder Student für jeden Meilenstein 1, ½ oder 0 K.O. Erstes K.O. für den Eingangstest ab 15 Punkten (ohne Aufgabe 3)

More information

Oracle JavaFX. JavaFX Scene Builder User Guide Release 1.1 E

Oracle JavaFX. JavaFX Scene Builder User Guide Release 1.1 E Oracle JavaFX JavaFX Scene Builder User Guide Release 1.1 E25449-03 October 2013 Oracle JavaFX/JavaFX Scene Builder 1.0 Developer Release E25449-03 Copyright 2012, 2013 Oracle and/or its affiliates. All

More information

In this topic: Extrac t Style. Inline Style Extract Layout Inline Layout Refactoring

In this topic: Extrac t Style. Inline Style Extract Layout Inline Layout Refactoring Refactoring Android XML Layout Files In addition to common refactoring, IntelliJ IDEA provides a number of Android-specific refactorings for Android layout definition XML files. Most of these refactorings

More information

Chapter 14 JavaFX Basics. Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved.

Chapter 14 JavaFX Basics. Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved. Chapter 14 JavaFX Basics 1 Motivations JavaFX is a new framework for developing Java GUI programs. The JavaFX API is an excellent example of how the object-oriented principle is applied. This chapter serves

More information

UNIT -II. Language-History and Versions Introduction JavaScript in Perspective-

UNIT -II. Language-History and Versions Introduction JavaScript in Perspective- UNIT -II Style Sheets: CSS-Introduction to Cascading Style Sheets-Features- Core Syntax-Style Sheets and HTML Style Rle Cascading and Inheritance-Text Properties-Box Model Normal Flow Box Layout- Beyond

More information

Java FX GUI. Pieter van den Hombergh. May 31, Fontys Hogeschool voor Techniek en Logistiek. Java FX GUI. Pieter van den Homb

Java FX GUI. Pieter van den Hombergh. May 31, Fontys Hogeschool voor Techniek en Logistiek. Java FX GUI. Pieter van den Homb ergh Fontys Hogeschool voor Techniek en Logistiek May 31, 2016 ergh/fhtenl May 31, 2016 1/10 JAVA FX Application A java fx gui application uses a different way to start. A javafx application extends javafx.application.application

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

More information

Essential JavaFX. Using layouts. Panes in JavaFX. Layouts. Tobias Andersson Gidlund LAYOUTS

Essential JavaFX. Using layouts. Panes in JavaFX. Layouts. Tobias Andersson Gidlund LAYOUTS Essential JavaFX Tobias Andersson Gidlund tobias.andersson.gidlund@lnu.se November 15, 2012 Essential JavaFX 1(36) LAYOUTS Essential JavaFX 2(36) Using layouts Since JavaFX still is Java, the use of layout

More information

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML UI Course (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) HTML: Introduction The World Wide Web (WWW) and history of HTML Hypertext and Hypertext Markup Language Why HTML Prerequisites Objective

More information

JavaFX for oorexx Creating Powerful Portable GUIs for oorexx

JavaFX for oorexx Creating Powerful Portable GUIs for oorexx JavaFX for oorexx Creating Powerful Portable GUIs for oorexx Rony G. Flatscher (Rony.Flatscher@wu.ac.at), WU Vienna "The 2017 International Rexx Symposium", Amsterdam, The Netherlands April 9 9h 12 th,

More information

The Benefits of CSS. Less work: Change look of the whole site with one edit

The Benefits of CSS. Less work: Change look of the whole site with one edit 11 INTRODUCING CSS OVERVIEW The benefits of CSS Inheritance Understanding document structure Writing style rules Attaching styles to the HTML document The cascade The box model CSS units of measurement

More information

IBM Forms V8.0 Custom Themes IBM Corporation

IBM Forms V8.0 Custom Themes IBM Corporation IBM Forms V8.0 Custom Themes Agenda 2 Overview Class Names How to Use Best Practice Styling Form Items Test Custom CSS Sample Overview 3 To create custom theme you must be familiar with the basic concept

More information

C14: JavaFX: Overview and Programming User Interface

C14: JavaFX: Overview and Programming User Interface CISC 3120 C14: JavaFX: Overview and Programming User Interface Hui Chen Department of Computer & Information Science CUNY Brooklyn College 10/10/2017 CUNY Brooklyn College 1 Outline Recap and issues Architecture

More information

Jim Jackson II Ian Gilman

Jim Jackson II Ian Gilman Single page web apps, JavaScript, and semantic markup Jim Jackson II Ian Gilman FOREWORD BY Scott Hanselman MANNING contents 1 HTML5 foreword xv preface xvii acknowledgments xx about this book xxii about

More information

Web Programming and Design. MPT Senior Cycle Tutor: Tamara Week 2

Web Programming and Design. MPT Senior Cycle Tutor: Tamara Week 2 Web Programming and Design MPT Senior Cycle Tutor: Tamara Week 2 Plan for the next 4 weeks: Introduction to HTML tags, creating our template file Introduction to CSS and style Introduction to JavaScript

More information

Comprehensive AngularJS Programming (5 Days)

Comprehensive AngularJS Programming (5 Days) www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop

More information

Making Apps With JavaFX COMP110 - Lecture 23

Making Apps With JavaFX COMP110 - Lecture 23 Making Apps With JavaFX COMP110 - Lecture 23 COMP110 UTA Applications Have the TAs helped you this semester? Join us and help continue to improve COMP110 in the Spring! Application now open on COMP110.com

More information

Index. alt, 38, 57 class, 86, 88, 101, 107 href, 24, 51, 57 id, 86 88, 98 overview, 37. src, 37, 57. backend, WordPress, 146, 148

Index. alt, 38, 57 class, 86, 88, 101, 107 href, 24, 51, 57 id, 86 88, 98 overview, 37. src, 37, 57. backend, WordPress, 146, 148 Index Numbers & Symbols (angle brackets), in HTML, 47 : (colon), in CSS, 96 {} (curly brackets), in CSS, 75, 96. (dot), in CSS, 89, 102 # (hash mark), in CSS, 87 88, 99 % (percent) font size, in CSS,

More information

Building Graphical user interface using JavaFX

Building Graphical user interface using JavaFX CS244 Advanced programming Applications Building Graphical user interface using JavaFX Dr Walid M. Aly Lecture 6 JavaFX vs Swing and AWT When Java was introduced, the GUI classes were bundled in a library

More information

Event-Driven Programming

Event-Driven Programming Lecture 10 1 Recall: JavaFX Basics So far we ve learned about some of the basic GUI classes (e.g. shapes, buttons) and how to arrange them in window(s) A big missing piece: interaction To have a GUI interact

More information

CST141 JavaFX Basics Page 1

CST141 JavaFX Basics Page 1 CST141 JavaFX Basics Page 1 1 2 5 6 7 8 9 10 JavaFX Basics CST141 Console vs. Window Programs In Java there is no distinction between console programs and window programs Java applications can mix (combine)

More information

Event Handling in JavaFX

Event Handling in JavaFX Event Handling in JavaFX Event Driven Programming Graphics applications use events. An event dispatcher receives events and notifies interested objects. Event Listener Event EventQueue 1. ActionEvent 2.

More information

Chapter 3 Style Sheets: CSS

Chapter 3 Style Sheets: CSS WEB TECHNOLOGIES A COMPUTER SCIENCE PERSPECTIVE JEFFREY C. JACKSON Chapter 3 Style Sheets: CSS 1 Motivation HTML markup can be used to represent Semantics: h1 means that an element is a top-level heading

More information

Developing applications using JavaFX

Developing applications using JavaFX Developing applications using JavaFX Cheshta, Dr. Deepti Sharma M.Tech Scholar, Dept. of CSE, Advanced Institute of Technology & Management, Palwal, Haryana, India HOD, Dept. of CSE, Advanced Institute

More information

TLCPowerTalk.com. Communication for Management Professionals. QCon London 2009 (c) 12 March by Peter Pilgrim 1.

TLCPowerTalk.com. Communication for Management Professionals. QCon London 2009 (c) 12 March by Peter Pilgrim 1. TLCPowerTalk.com Communication for Management Professionals www.devoxx.com QCon London 2009 (c) 12 March by Peter Pilgrim 1 Peter Pilgrim JAVAWUG.com,Sun Java Champion, Lloyds TSB Corporate Markets QCon

More information

10 Advanced Java for Bioinformatics, WS 17/18, D. Huson, October 26, 2017

10 Advanced Java for Bioinformatics, WS 17/18, D. Huson, October 26, 2017 10 Advanced Java for Bioinformatics, WS 17/18, D. Huson, October 26, 2017 4 Controls Controls facilitate user input and in JavaFX they extend the class Control. controls: Here are some basic Button CheckBox

More information

Introduction to WEB PROGRAMMING

Introduction to WEB PROGRAMMING Introduction to WEB PROGRAMMING Web Languages: Overview HTML CSS JavaScript content structure look & feel transitions/animation s (CSS3) interaction animation server communication Full-Stack Web Frameworks

More information

Command-Line Applications. GUI Libraries GUI-related classes are defined primarily in the java.awt and the javax.swing packages.

Command-Line Applications. GUI Libraries GUI-related classes are defined primarily in the java.awt and the javax.swing packages. 1 CS257 Computer Science I Kevin Sahr, PhD Lecture 14: Graphical User Interfaces Command-Line Applications 2 The programs we've explored thus far have been text-based applications A Java application is

More information

EMC Documentum Forms Builder

EMC Documentum Forms Builder EMC Documentum Forms Builder Version 6 User Guide P/N 300-005-243 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Copyright 1994-2007 EMC Corporation. All rights

More information

CSCI-142 Exam 2 Review September 25, 2016 Presented by the RIT Computer Science Community

CSCI-142 Exam 2 Review September 25, 2016 Presented by the RIT Computer Science Community CSCI-142 Exam 2 Review September 25, 2016 Presented by the RIT Computer Science Community http://csc.cs.rit.edu 1. Suppose we are talking about the depth-first search (DFS) algorithm. Nodes are added to

More information

Chapter 1 Introduction to Dreamweaver CS3 1. About Dreamweaver CS3 Interface...4. Creating New Webpages...10

Chapter 1 Introduction to Dreamweaver CS3 1. About Dreamweaver CS3 Interface...4. Creating New Webpages...10 CONTENTS Chapter 1 Introduction to Dreamweaver CS3 1 About Dreamweaver CS3 Interface...4 Title Bar... 4 Menu Bar... 4 Insert Bar... 5 Document Toolbar... 5 Coding Toolbar... 6 Document Window... 7 Properties

More information

INTERNET PROGRAMMING XML

INTERNET PROGRAMMING XML INTERNET PROGRAMMING XML Software Engineering Branch / 4 th Class Computer Engineering Department University of Technology OUTLINES XML Basic XML Advanced 2 HTML & CSS & JAVASCRIPT & XML DOCUMENTS HTML

More information

COMS 359: Interactive Media

COMS 359: Interactive Media COMS 359: Interactive Media Agenda Review CSS Preview Review Transparent GIF headline Review JPG buttons button1.jpg button.psd button2.jpg Review Next Step Tables CSS Introducing CSS What is CSS? Cascading

More information

Introduction to Graphical Interface Programming in Java. Introduction to AWT and Swing

Introduction to Graphical Interface Programming in Java. Introduction to AWT and Swing Introduction to Graphical Interface Programming in Java Introduction to AWT and Swing GUI versus Graphics Programming Graphical User Interface (GUI) Graphics Programming Purpose is to display info and

More information

CON Visualising GC with JavaFX Ben Evans James Gough

CON Visualising GC with JavaFX Ben Evans James Gough CON6265 - Visualising GC with JavaFX Ben Evans (@kittylyst) James Gough (@javajimlondon) Who are these guys anyway? Beginnings This story, as with so many others, starts with beer... Beginnings It was

More information

Our Hall of Fame or Shame candidate for today is the command ribbon, which was introduced in Microsoft Office The ribbon is a radically

Our Hall of Fame or Shame candidate for today is the command ribbon, which was introduced in Microsoft Office The ribbon is a radically 1 Our Hall of Fame or Shame candidate for today is the command ribbon, which was introduced in Microsoft Office 2007. The ribbon is a radically different user interface for Office, merging the menubar

More information

CSI 3140 WWW Structures, Techniques and Standards. Markup Languages: XHTML 1.0

CSI 3140 WWW Structures, Techniques and Standards. Markup Languages: XHTML 1.0 CSI 3140 WWW Structures, Techniques and Standards Markup Languages: XHTML 1.0 HTML Hello World! Document Type Declaration Document Instance Guy-Vincent Jourdan :: CSI 3140 :: based on Jeffrey C. Jackson

More information

San Francisco. Clouds in My Coffee: Java on Mobile for ios and Android with Cloud Data. October 23, 2018

San Francisco. Clouds in My Coffee: Java on Mobile for ios and Android with Cloud Data. October 23, 2018 San Francisco October 23, 2018 Clouds in My Coffee: Java on Mobile for ios and Android with Cloud Data Paul Anderson Gail Anderson Anderson Software Group, Inc. asgteach.com 2018 Anderson Software Group

More information

Web Programming and Design. MPT Junior Cycle Tutor: Tamara Demonstrators: Aaron, Marion, Hugh

Web Programming and Design. MPT Junior Cycle Tutor: Tamara Demonstrators: Aaron, Marion, Hugh Web Programming and Design MPT Junior Cycle Tutor: Tamara Demonstrators: Aaron, Marion, Hugh Plan for the next 5 weeks: Introduction to HTML tags Recap on HTML and creating our template file Introduction

More information

CSS. https://developer.mozilla.org/en-us/docs/web/css

CSS. https://developer.mozilla.org/en-us/docs/web/css CSS https://developer.mozilla.org/en-us/docs/web/css http://www.w3schools.com/css/default.asp Cascading Style Sheets Specifying visual style and layout for an HTML document HTML elements inherit CSS properties

More information

How to lay out a web page with CSS

How to lay out a web page with CSS Activity 2.6 guide How to lay out a web page with CSS You can use table design features in Adobe Dreamweaver CS4 to create a simple page layout. However, a more powerful technique is to use Cascading Style

More information

interactive systems graphical interfaces Week 2 : a. Intro to JavaFX Programming of Interactive Systems

interactive systems graphical interfaces Week 2 : a. Intro to JavaFX Programming of Interactive Systems Programming of Interactive Systems Anastasia.Bezerianos@lri.fr Week 2 : a. Intro to JavaFX Anastasia.Bezerianos@lri.fr (part of this class is based on previous classes from Anastasia, and of T. Tsandilas,

More information

JavaFX. JavaFX Overview Release E

JavaFX. JavaFX Overview Release E JavaFX JavaFX Overview Release 2.2.21 E20479-06 April 2013 Learn about the JavaFX 2 and later technology, read a feature summary, explore the sample applications, and follow the high-level steps to create

More information

GUI Output. Adapted from slides by Michelle Strout with some slides from Rick Mercer. CSc 210

GUI Output. Adapted from slides by Michelle Strout with some slides from Rick Mercer. CSc 210 GUI Output Adapted from slides by Michelle Strout with some slides from Rick Mercer CSc 210 GUI (Graphical User Interface) We all use GUI s every day Text interfaces great for testing and debugging Infants

More information

COMSC-031 Web Site Development- Part 2

COMSC-031 Web Site Development- Part 2 COMSC-031 Web Site Development- Part 2 Part-Time Instructor: Joenil Mistal December 5, 2013 Chapter 13 13 Designing a Web Site with CSS In addition to creating styles for text, you can use CSS to create

More information

C12: JavaFX Scene Graph, Events, and UI Components

C12: JavaFX Scene Graph, Events, and UI Components CISC 3120 C12: JavaFX Scene Graph, Events, and UI Components Hui Chen Department of Computer & Information Science CUNY Brooklyn College 3/12/2018 CUNY Brooklyn College 1 Outline Recap and issues JavaFX

More information

Redux with JavaFX. Michael Heinrichs & Manuel Mauky

Redux with JavaFX. Michael Heinrichs & Manuel Mauky Redux with JavaFX Michael Heinrichs & Manuel Mauky Michael Heinrichs Manuel Mauky Functional Reactive Programming Functional Programming Declarative Immutable data No side effects Avoid state changes Active

More information

CSC Web Technologies, Spring Web Data Exchange Formats

CSC Web Technologies, Spring Web Data Exchange Formats CSC 342 - Web Technologies, Spring 2017 Web Data Exchange Formats Web Data Exchange Data exchange is the process of transforming structured data from one format to another to facilitate data sharing between

More information

Chapter 14. Exception Handling and Event Handling

Chapter 14. Exception Handling and Event Handling Chapter 14 Exception Handling and Event Handling Chapter 14 Topics Introduction to Exception Handling Exception Handling in Ada Exception Handling in C++ Exception Handling in Java Introduction to Event

More information

Creating a Model-based Builder

Creating a Model-based Builder Creating a Model-based Builder This presentation provides an example of how to create a Model-based builder in WebSphere Portlet Factory. This presentation will provide step by step instructions in the

More information

Welcome Please sit on alternating rows. powered by lucid & no.dots.nl/student

Welcome Please sit on alternating rows. powered by lucid & no.dots.nl/student Welcome Please sit on alternating rows powered by lucid & no.dots.nl/student HTML && CSS Workshop Day Day two, November January 276 powered by lucid & no.dots.nl/student About the Workshop Day two: CSS

More information

SwingML Tutorial. Introduction. Setup. Execution Environment. Last Modified: 7/10/ :22:37 PM

SwingML Tutorial. Introduction. Setup. Execution Environment. Last Modified: 7/10/ :22:37 PM SwingML Tutorial Last Modified: 7/10/2007 12:22:37 PM Introduction A SwingML user interface is created using XML tags. Similar to HTML tags, SwingML tags exist that define SwingUI component attributes

More information

Hanley s Survival Guide for Visual Applications with NetBeans 2.0 Last Updated: 5/20/2015 TABLE OF CONTENTS

Hanley s Survival Guide for Visual Applications with NetBeans 2.0 Last Updated: 5/20/2015 TABLE OF CONTENTS Hanley s Survival Guide for Visual Applications with NetBeans 2.0 Last Updated: 5/20/2015 TABLE OF CONTENTS Glossary of Terms 2-4 Step by Step Instructions 4-7 HWApp 8 HWFrame 9 Never trust a computer

More information

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features

More information

Lecture : 3. Practical : 2. Course Credit. Tutorial : 0. Total : 5. Course Learning Outcomes

Lecture : 3. Practical : 2. Course Credit. Tutorial : 0. Total : 5. Course Learning Outcomes Course Title Course Code WEB DESIGNING TECHNOLOGIES DCE311 Lecture : 3 Course Credit Practical : Tutorial : 0 Total : 5 Course Learning Outcomes At end of the course, students will be able to: Understand

More information

light side dark side canoo

light side dark side canoo CON 1072 light side dark side han Solo (Also known as Gerrit Grunwald) Former smuggler, now Leader in the Rebel Alliance. Captain of the Millennium Falcon and sometimes involved in some Java business at

More information

ADDING CSS TO YOUR HTML DOCUMENT. A FEW CSS VALUES (colour, size and the box model)

ADDING CSS TO YOUR HTML DOCUMENT. A FEW CSS VALUES (colour, size and the box model) INTRO TO CSS RECAP HTML WHAT IS CSS ADDING CSS TO YOUR HTML DOCUMENT CSS IN THE DIRECTORY TREE CSS RULES A FEW CSS VALUES (colour, size and the box model) CSS SELECTORS SPECIFICITY WEEK 1 HTML In Week

More information

Enhydra. Jolt Syntax Reference Guide. version 2.0. Developed by Lutris Technologies, Inc.

Enhydra. Jolt Syntax Reference Guide. version 2.0. Developed by Lutris Technologies, Inc. Enhydra Jolt Syntax Reference Guide version 2.0 Developed by Lutris Technologies, Inc. TABLE OF CONTENTS CHAPTER 1 Overview of Enhydra Jolt 1 Structuring an Enhydra Jolt Presentation 2 Enhydra Joltc Compiler

More information

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written. QUEEN'S UNIVERSITY SCHOOL OF COMPUTING HAND IN Answers Are Recorded on Exam Paper CMPE212, WINTER TERM, 2016 FINAL EXAMINATION 9am to 12pm, 19 APRIL 2016 Instructor: Alan McLeod If the instructor is unavailable

More information

Objective % Select and utilize tools to design and develop websites.

Objective % Select and utilize tools to design and develop websites. Objective 207.02 8% Select and utilize tools to design and develop websites. Hypertext Markup Language (HTML) Basic framework for all web design. Written using tags that a web browser uses to interpret

More information

Make a Website. A complex guide to building a website through continuing the fundamentals of HTML & CSS. Created by Michael Parekh 1

Make a Website. A complex guide to building a website through continuing the fundamentals of HTML & CSS. Created by Michael Parekh 1 Make a Website A complex guide to building a website through continuing the fundamentals of HTML & CSS. Created by Michael Parekh 1 Overview Course outcome: You'll build four simple websites using web

More information

Java FX. Threads, Workers and Tasks

Java FX. Threads, Workers and Tasks Java FX Threads, Workers and Tasks Threads and related topics Lecture Overview...but first lets take a look at a good example of Model - View - Controler set up This and most of the lecture is taken from

More information

Interaktionsprogrammering TDDD13 + TDDC73

Interaktionsprogrammering TDDD13 + TDDC73 Interaktionsprogrammering TDDD13 + TDDC73 Anders Fröberg Outline Questions Project Threads and GUI JavaFX Project Threads JavaFX is the Evolution of Java as a Rich Client Platform. It is designed to provide

More information

Basic CSS Tips and Tricks

Basic CSS Tips and Tricks You have spent a lot of time getting the HTML for your library website ready to rock and roll. All your code has validated, classes specified, and paragraphs put in order. There is only one problem it

More information

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written. QUEEN'S UNIVERSITY SCHOOL OF COMPUTING HAND IN Answers Are Recorded on Question Paper CISC124, FALL TERM, 2015 FINAL EXAMINATION 7pm to 10pm, 15 DECEMBER 2015 Instructor: Alan McLeod If the instructor

More information

JavaFX Scene Builder

JavaFX Scene Builder JavaFX Scene Builder User Guide Release 2.0 E51279-01 April 2014 This user guide introduces you to and describes how to use the JavaFX Scene Builder features and graphical user interface (GUI). JavaFX

More information

Java Programming Lecture 7

Java Programming Lecture 7 Java Programming Lecture 7 Alice E. Fischer Feb 16, 2015 Java Programming - L7... 1/16 Class Derivation Interfaces Examples Java Programming - L7... 2/16 Purpose of Derivation Class derivation is used

More information

Java Programming Lecture 6

Java Programming Lecture 6 Java Programming Lecture 6 Alice E. Fischer Feb 15, 2013 Java Programming - L6... 1/32 Dialog Boxes Class Derivation The First Swing Programs: Snow and Moving The Second Swing Program: Smile Swing Components

More information

CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0

CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0 WEB TECHNOLOGIES A COMPUTER SCIENCE PERSPECTIVE CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0 Modified by Ahmed Sallam Based on original slides by Jeffrey C. Jackson reserved. 0-13-185603-0 HTML HELLO WORLD! Document

More information

1. Cascading Style Sheet and JavaScript

1. Cascading Style Sheet and JavaScript 1. Cascading Style Sheet and JavaScript Cascading Style Sheet or CSS allows you to specify styles for visual element of the website. Styles specify the appearance of particular page element on the screen.

More information

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) Learning Objectives (2 of 2)

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) Learning Objectives (2 of 2) Web Development & Design Foundations with HTML5 Ninth Edition Chapter 3 Configuring Color and Text with CSS Slides in this presentation contain hyperlinks. JAWS users should be able to get a list of links

More information

Exercises Lecture 3 Layouts and widgets

Exercises Lecture 3 Layouts and widgets Exercises Lecture 3 Layouts and widgets Aim: Duration: This exercise will help you explore and understand Qt's widgets and the layout approach to designing user interfaces. 2h The enclosed Qt Materials

More information

C30c: Model-View-Controller and Writing Larger JavaFX Apps

C30c: Model-View-Controller and Writing Larger JavaFX Apps CISC 3120 C30c: Model-View-Controller and Writing Larger JavaFX Apps Hui Chen Department of Computer & Information Science CUNY Brooklyn College 12/6/2018 CUNY Brooklyn College 1 Outline Model-View-Controller

More information

Chapter 1: Getting Started. You will learn:

Chapter 1: Getting Started. You will learn: Chapter 1: Getting Started SGML and SGML document components. What XML is. XML as compared to SGML and HTML. XML format. XML specifications. XML architecture. Data structure namespaces. Data delivery,

More information

Introduction to Web Development

Introduction to Web Development Introduction to Web Development Lecture 1 CGS 3066 Fall 2016 September 8, 2016 Why learn Web Development? Why learn Web Development? Reach Today, we have around 12.5 billion web enabled devices. Visual

More information

Complete Java Contents

Complete Java Contents Complete Java Contents Duration: 60 Hours (2.5 Months) Core Java (Duration: 25 Hours (1 Month)) Java Introduction Java Versions Java Features Downloading and Installing Java Setup Java Environment Developing

More information