SlideShare a Scribd company logo
1 of 20
Java Swing
What is Java Swing?
• Part of the Java Foundation Classes (JFC)
• Provides a rich set of GUI components
• Used to create a Java program with a graphical
user interface (GUI)
• table controls, list controls, tree controls,
buttons, and labels, and so on…
What features are available?
• GUI components like button, checkbox, and so on…
• Java 2D API: images, figures, animation
• Pluggable look and feel: use samples or create your
own
• Data Transfer: cut, copy, paste, drag & drop
• Internationalization: supports different input
language, right to left reading
• Accessibility API: for people with disabilities
• Undo Framework API: supports unlimited numbers
of actions to undo and redo
• Flexible Deployment: run within a browser as an
applet or Java Web Start
How does HelloWorld look like?
• import javax.swing.*;
• public class HelloWorldSwing {
• private static void createAndShowGUI() {
• //Create and set up the window.
• JFrame frame = new JFrame("HelloWorldSwing");
• frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
• //Add the ubiquitous "Hello World" label.
• JLabel label = new JLabel("Hello World");
• frame.getContentPane().add(label);
• //Display the window.
• frame.pack();
• frame.setVisible(true);
• }
• public static void main(String[] args) {
• //Schedule a job for the event-dispatching thread:
• //creating and showing this application's GUI.
• javax.swing.SwingUtilities.invokeLater(new Runnable() {
• public void run() {
• createAndShowGUI();
• }
• });
• }
• }
Who are users?
• Since we are evaluating user interface toolkit
itself, in this case Java Swing, users will be
software developers, not software users
• I believe that most Java developers use Eclipse
as their developing platform so we will evaluate
Java Swing with Eclipse based on ten usability
heuristics by Jakob Nielson
1. Visibility of system status
• This may be a strong advantage of Java Swing over
other UI toolkits, not because of Java Swing itself is
great, but because Eclipse provides such
sophisticated checking on what is going on now
• Constantly checks for syntax errors
• Lists available methods or variables when press ‘.’
(dot)
• However, you don’t have synchronous result view
• You will have to run it in order to see the status of
your program
2. Match between system and the real world
• First of all, it is Java
• It follows Java convention
• It consists of 18 public packages of Java classes
• Its classes and methods are reasonably named
• Unless you are the first time programmer, you
don’t have to worry about its syntax or
convention
• JLabel developerNameLabel = new javax.swing.JLabel();
developerNameLabel.setFont(new java.awt.Font("Arial", 0, 14));
developerNameLabel.setForeground(new java.awt.Color(255, 255,
255));
3. User control and freedom
• Eclipse supports strong undo and redo features
• You can’t possibly go wrong and have to rewrite
every code
• You can always fix it even though it may take you
some effort and time
• Java Swing also provides undo and redo package
• javax.swing.event.UndoableEditEvent;
javax.swing.event.UndoableEditListener;
javax.swing.undo.UndoableEdit;
4. Consistency and standards
• Similar to #2
• Java Swing follows Java convention
• Packages, classes, methods, parameters,
variables
• Mainly constructor, getter, setter
5. Error prevention
• First of all, Java is a strongly typed language: primitives
and objects
• Eclipse checks for syntax and type errors continuously
• It gives red underline to errors and small red box to let
you know which line in document it is located
• If you move your mouse over the error, then it suggests
possible solutions to the error
• If you think one of the suggestions is a solution, then
simply click on it to apply it
• Of course, it won’t compile and run until you fix all the
syntax errors
• However, you don’t have any idea about runtime errors
except that you will have to run it and find out
6. Recognition rather than recall
• It’s a programming language, so it’s better and faster for you if
you memorize names and their functions of classes or
methods
• However, whenever you press ‘dot’ after name of package,
class, or object, then eclipse provides you a list of all possible
subclasses, functions and variables
• If you move your mouse over almost anything, then eclipse
provides you with a text document associated with it, usually
javadoc, or you can click on it and it directs you to online
javadoc page
• You don’t have a help of graphical interface to develop a
graphical interface, so it maybe a disadvantage of Java Swing
with eclipse.
• By the way, you can have a graphical interface if you use
NetBeans IDE instead of eclipse
7. Flexibility and efficiency of use
• Swing includes many basic components as a
package, so it is efficient to use them
• At the same time, you can create almost anything
you want as combination of those components and
some pure coding in Java
• Java have had a reputation for being slower and
requiring more memory than those written in
natively compiled languages such as C or C++
• However, the performance heavily depends on how
you optimize your codes and which components of
UI you use the most frequently
• It may be subsequently slower or faster
8. Aesthetic and minimalist design
• Swing is designed in a way that it provides a set
of "lightweight" (all-Java language) components
that, to the maximum degree possible, work the
same on all platforms
• It includes almost only and all components we
could find around any software with user
interface
• Yet, it gives developers varieties to customize
those components
9. Help users recognize, diagnose,
and recover from errors
• Syntax and type checking errors are already covered
previously
• Java shows where in the code runtime errors
(exceptions) are caused, specifying line numbers
and brief reason for error on the console of eclipse
• It’s not always right, but most of the times it is right
• It’s relatively easy to find the cause of the error and
debug it comparing to other languages I have
experienced with
10. Help and documentation
• Javadoc
• Eclipse’s support for javadoc (already covered)
Conclusion
• Java Swing is easier to learn than others because
it’s Java
• You can use any helpful tools out there that are
for Java development like eclipse IDE, NetBeans
IDE
• Lacks live graphical and interactive help while
developing
• Has unlimited possibilities depending on how
you implement your software

More Related Content

Similar to Java Swing.ppt THIA GIVE YHR BASIC KNOWLEDGER ABOUT JAVA

Similar to Java Swing.ppt THIA GIVE YHR BASIC KNOWLEDGER ABOUT JAVA (20)

Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentation
 
java Features
java Featuresjava Features
java Features
 
1 Module 1 Introduction.pptx
1 Module 1 Introduction.pptx1 Module 1 Introduction.pptx
1 Module 1 Introduction.pptx
 
Java Introduction
Java IntroductionJava Introduction
Java Introduction
 
java slides
java slidesjava slides
java slides
 
Java lecture
Java lectureJava lecture
Java lecture
 
Writing Well Abstracted Automation on Foundations of Jello
Writing Well Abstracted Automation on Foundations of JelloWriting Well Abstracted Automation on Foundations of Jello
Writing Well Abstracted Automation on Foundations of Jello
 
Features of Java.pptx
Features of Java.pptxFeatures of Java.pptx
Features of Java.pptx
 
Java1
Java1Java1
Java1
 
Java1
Java1Java1
Java1
 
Java Closures
Java ClosuresJava Closures
Java Closures
 
Java/Servlet/JSP/JDBC
Java/Servlet/JSP/JDBCJava/Servlet/JSP/JDBC
Java/Servlet/JSP/JDBC
 
1 java introduction
1 java introduction1 java introduction
1 java introduction
 
1 java intro
1 java intro1 java intro
1 java intro
 
01 java intro
01 java intro01 java intro
01 java intro
 
Introduction to java programming part 1
Introduction to java programming   part 1Introduction to java programming   part 1
Introduction to java programming part 1
 
Java Basics
Java BasicsJava Basics
Java Basics
 
Java ppts unit1
Java ppts unit1Java ppts unit1
Java ppts unit1
 
JavaFX - Sketch Board to Production
JavaFX - Sketch Board to ProductionJavaFX - Sketch Board to Production
JavaFX - Sketch Board to Production
 
Unit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rdUnit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rd
 

Recently uploaded

Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 

Recently uploaded (20)

Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 

Java Swing.ppt THIA GIVE YHR BASIC KNOWLEDGER ABOUT JAVA

  • 2. What is Java Swing? • Part of the Java Foundation Classes (JFC) • Provides a rich set of GUI components • Used to create a Java program with a graphical user interface (GUI) • table controls, list controls, tree controls, buttons, and labels, and so on…
  • 3. What features are available? • GUI components like button, checkbox, and so on… • Java 2D API: images, figures, animation • Pluggable look and feel: use samples or create your own • Data Transfer: cut, copy, paste, drag & drop • Internationalization: supports different input language, right to left reading • Accessibility API: for people with disabilities • Undo Framework API: supports unlimited numbers of actions to undo and redo • Flexible Deployment: run within a browser as an applet or Java Web Start
  • 4. How does HelloWorld look like? • import javax.swing.*; • public class HelloWorldSwing { • private static void createAndShowGUI() { • //Create and set up the window. • JFrame frame = new JFrame("HelloWorldSwing"); • frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); • //Add the ubiquitous "Hello World" label. • JLabel label = new JLabel("Hello World"); • frame.getContentPane().add(label); • //Display the window. • frame.pack(); • frame.setVisible(true); • } • public static void main(String[] args) { • //Schedule a job for the event-dispatching thread: • //creating and showing this application's GUI. • javax.swing.SwingUtilities.invokeLater(new Runnable() { • public void run() { • createAndShowGUI(); • } • }); • } • }
  • 5. Who are users? • Since we are evaluating user interface toolkit itself, in this case Java Swing, users will be software developers, not software users • I believe that most Java developers use Eclipse as their developing platform so we will evaluate Java Swing with Eclipse based on ten usability heuristics by Jakob Nielson
  • 6. 1. Visibility of system status • This may be a strong advantage of Java Swing over other UI toolkits, not because of Java Swing itself is great, but because Eclipse provides such sophisticated checking on what is going on now • Constantly checks for syntax errors • Lists available methods or variables when press ‘.’ (dot) • However, you don’t have synchronous result view • You will have to run it in order to see the status of your program
  • 7.
  • 8. 2. Match between system and the real world • First of all, it is Java • It follows Java convention • It consists of 18 public packages of Java classes • Its classes and methods are reasonably named • Unless you are the first time programmer, you don’t have to worry about its syntax or convention • JLabel developerNameLabel = new javax.swing.JLabel(); developerNameLabel.setFont(new java.awt.Font("Arial", 0, 14)); developerNameLabel.setForeground(new java.awt.Color(255, 255, 255));
  • 9. 3. User control and freedom • Eclipse supports strong undo and redo features • You can’t possibly go wrong and have to rewrite every code • You can always fix it even though it may take you some effort and time • Java Swing also provides undo and redo package • javax.swing.event.UndoableEditEvent; javax.swing.event.UndoableEditListener; javax.swing.undo.UndoableEdit;
  • 10.
  • 11. 4. Consistency and standards • Similar to #2 • Java Swing follows Java convention • Packages, classes, methods, parameters, variables • Mainly constructor, getter, setter
  • 12. 5. Error prevention • First of all, Java is a strongly typed language: primitives and objects • Eclipse checks for syntax and type errors continuously • It gives red underline to errors and small red box to let you know which line in document it is located • If you move your mouse over the error, then it suggests possible solutions to the error • If you think one of the suggestions is a solution, then simply click on it to apply it • Of course, it won’t compile and run until you fix all the syntax errors • However, you don’t have any idea about runtime errors except that you will have to run it and find out
  • 13.
  • 14. 6. Recognition rather than recall • It’s a programming language, so it’s better and faster for you if you memorize names and their functions of classes or methods • However, whenever you press ‘dot’ after name of package, class, or object, then eclipse provides you a list of all possible subclasses, functions and variables • If you move your mouse over almost anything, then eclipse provides you with a text document associated with it, usually javadoc, or you can click on it and it directs you to online javadoc page • You don’t have a help of graphical interface to develop a graphical interface, so it maybe a disadvantage of Java Swing with eclipse. • By the way, you can have a graphical interface if you use NetBeans IDE instead of eclipse
  • 15.
  • 16. 7. Flexibility and efficiency of use • Swing includes many basic components as a package, so it is efficient to use them • At the same time, you can create almost anything you want as combination of those components and some pure coding in Java • Java have had a reputation for being slower and requiring more memory than those written in natively compiled languages such as C or C++ • However, the performance heavily depends on how you optimize your codes and which components of UI you use the most frequently • It may be subsequently slower or faster
  • 17. 8. Aesthetic and minimalist design • Swing is designed in a way that it provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms • It includes almost only and all components we could find around any software with user interface • Yet, it gives developers varieties to customize those components
  • 18. 9. Help users recognize, diagnose, and recover from errors • Syntax and type checking errors are already covered previously • Java shows where in the code runtime errors (exceptions) are caused, specifying line numbers and brief reason for error on the console of eclipse • It’s not always right, but most of the times it is right • It’s relatively easy to find the cause of the error and debug it comparing to other languages I have experienced with
  • 19. 10. Help and documentation • Javadoc • Eclipse’s support for javadoc (already covered)
  • 20. Conclusion • Java Swing is easier to learn than others because it’s Java • You can use any helpful tools out there that are for Java development like eclipse IDE, NetBeans IDE • Lacks live graphical and interactive help while developing • Has unlimited possibilities depending on how you implement your software