Java - Trang ď SwingGUI

14 133 0
Java - Trang ď SwingGUI

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Java - Trang ď SwingGUI tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực kinh...

Swing & GUI Design AWT Swing GUI Design Using IDE Tool What is GUI ‰ Graphic User Interface     ‰ Outer Interface of Program GUI is Built by GUI Components GUI Component : Visual Object to Interact With Outside such as Mouse, Keyboard, etc Ex) AWT, Swing Components Interfaces Provided by Java    Graphic : line, rectangle, polygon, arc, … Interaction Elements : button, textfield, menu, … Image : image files GUI and AWT ‰ Abstract Window Toolkit (AWT)  Java.awt package 9 9 Component Class : Button, List, Menu, TextArea, Window, MenuBar, Dialog Graphics Related Classes : Graphics Context, Font , Color Event Class : For Event Handling Layout Management Class : Size and Position of Component GUI Component Hierarchy GUI Operation Outline ‰ Procedure for Making GUI in Java   Select the Container Component and Arrange the Basic Components within this container Select the Layout Manager Also Make the Event Handling Routine and Register it  Event Listener Insert the Drawing Code to Override the paint() method in order to draw some figure on component Paint(), repaint(), update() Make the GUI Component ‰ Procedure to put the GUI components into Frame or Panel which is container    ‰ Make the container object Declare and create the component object Put the objects created into container Layout Manager      FlowLayout : From Left to Right in Panel, Default Manager GridLayout : With Grid, Arrange in Lattice Type GridBagLayout : Arrange Different Size Component on Grid BorderLayout : Up, Down, Left, Right, Center CardLayout : Arrange Several Cards Graphics User Interface (I) ‰ Component Class        Abstract Class which provides : Methods to control size and position on the screen Methods to setup cursor and return the cursor position Methods for drawing such as paint(),update(),repaint() Methods to determine keyboard input, visibility Function for providing event handling registration Methods related with Font and Color Graphics User Interface (I) ‰ Label   ‰ Button   ‰ Not able to change Describes Text information When user presses Occur events to make some action Check Box    Has two states of ON and OFF When user selects one of two For multiple selection, CheckboxGroup can be used Graphics User Interface (I) ‰ Choice Button    ‰ Select List  ‰ Used to select one or more item(s) Text Field   ‰ Select one of several items to select When user clicks arrow button, then the selection list is displayed When user select one, Action event occurred A line of text area to input It is possible to disable/enable input Text Area  Multi-lines of text area to input Graphics User Interface (I) ‰ TextComponent Class  ‰ Scroll Bar  ‰ Super class of TextField and TextArea To input an integer within some range Canvas   To create display area for graphic Building a customized component by user Graphics User Interface (II) ‰ Panel   ‰ Frame   ‰ Inherited from Container class (Super of Applet) Components can be added into Panel Window to have Title Bar and Border Independent of Window( compare to Dialog) Dialog Box     Window to have Title Bar Dependent on Parent Window Modal Dialog (Can work only after terminating the Dialog) Non-Modal Dialog Graphics User Interface (II) ‰ Scroll Pane    ‰ To make an area to be scrolled easily To display the child component as large as possible If child component is larger than Scroll Pane, it adds the horizontal or vertical scroll bar Menu      MenuItem : Each Item of Menu CheckboxMenuItem Menu MenuBar PopupMenu Events ‰ Event    ‰ Low Level Event :  ‰ Event Listener Delegation Model Adaptor Mouse, MouseMotion, Key, Component, Container, Focus, Window High Level (Have Semantics) Event:  Action, Adjustment, Item, Text Events JFC & Swing ‰ JFC (Java Foundation Class)  Give a group of class to help people build GUI  Things Contains :  Swing Components Pluggable Look and Feel Support Accesibility API Java 2D API Drag and Drop Support JFC & Swing ‰ Differences between AWT and Swing  Swing components are implemented with absolutely no native code => can be present on every platform  Swing component which their names start with J can be identified  Have capabilities beyond what the AWT components offer JFC & Swing ‰ Capabilities beyond AWT  Swing buttons and labels can display images instead of, or in addition to, text  You can easily add or change borders drawn around most Swing components  You can easily change the behavior or appearance of a Swing component by either invoking methods on it or creating a subclass of it  Swing components need not be rectangular  Assistive technologies such as screen readers can easily get information from Swing components Swing Components ‰ Content URL : http://java.sun.com/docs/books/tutorial/uiswing/comp onents/components.html ‰ Top Level Containers  ‰ The components at the top of any Swing containment hierarchy General Purpose Containers  Intermediate containers that can be used under many different circumstances Swing Components ‰ Special Purpose Containers  ‰ Basic Controls  ‰ Atomic components that exist primarily to get input from the user; they generally also show simple state Uneditable Information Displays  ‰ Intermediate containers that play specific roles in the UI Atomic components that exist solely to give the user information Editable Displays for Formatted Information  Atomic components that display highly formatted information that (if you choose) can be edited by the user Swing Application Code ‰ Importing Swing Packages ( and AWT packages) Import javax.swing.*; Import java.awt.*; ‰ Import java.awt.event.*; Choosing the Look and Feel  Java Look and Feel, Windows Look and Feel, CDE/Motif Look and Feel public static void main(String[] args) { try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName()); } catch (Exception e) { } //Create and show the GUI } 10 Swing Application Code ‰ Setting Up a Top-Level Container  Instances of JFrame, JDialog, JApplet  JFrame : implements a single main window  JDialog : implements a secondary window  JApplet : implements an applet’s display area within a browser windows Ex) JFrame frame = new JFrame(“SwingApplication”); Swing Application Code ‰ Setting Up Buttons and Labels  Make component objects and set up attribute Ex) JButton button = new JButton("I'm a Swing button!"); button.setMnemonic(KeyEvent.VK_I); //use Alt-i button.addActionListener( create an action listener ); final JLabel label = new JLabel(labelPrefix + "0 "); label.setLabelFor(button); //in the event handler for button clicks: label.setText(labelPrefix + numClicks); 11 Swing Application Code ‰ Adding Components to Containers  To group a label and button in a container (a JPanel) before adding components to the frame Ex) JPanel pane = new JPanel(); pane.setBorder(BorderFactory.createEmptyBorder(30, 30, 10, 30)); pane.setLayout(new GridLayout(0, 1)); pane.add(button); pane.add(label); Swing Application Code ‰ Adding Borders Around Components  Provides some empty space around the panel’s contents  Ex) pane.setBorder(BorderFactory.createEmptyBorder( 30, //top 30, //left 10, //bottom 30) //right ); 12 Swing Application Code ‰ Handling Events  Make Event Handler Ex) button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { numClicks++; label.setText(labelPrefix + numClicks); } }); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); Swing Application Code ‰ Dealing with Thread Issues  Because the event handler runs in the same thread that performs all event handling and painting for the application, there's no possibility that two threads will try to manipulate the GUI at once  All manipulation of the GUI such as setText, getText, etc, is performed in event handlers such as actionPerformed() 13 Swing Application Code ‰ Supporting Assistive Technologies  Support for assistive technologies devices such as screen readers that provide alternate ways of accessing information in a GUI is already included in every Swing component  The only code in SwingApplication that exists solely to support assistive technologies is this: label.setLabelFor(button); GUI Design Using IDE TOOL ‰ There are several Integrated Development Environment (IDE) Tools     ‰ Eclipse Jbuilder of Borland Visual Age of IBM Visual J++ of Microsoft Demonstration 14 ... Packages ( and AWT packages) Import javax.swing.*; Import java. awt.*; ‰ Import java. awt.event.*; Choosing the Look and Feel  Java Look and Feel, Windows Look and Feel, CDE/Motif... & Swing ‰ JFC (Java Foundation Class)  Give a group of class to help people build GUI  Things Contains :  Swing Components Pluggable Look and Feel Support Accesibility API Java 2D API Drag... event occurred A line of text area to input It is possible to disable/enable input Text Area  Multi-lines of text area to input Graphics User Interface (I) ‰ TextComponent Class  ‰ Scroll Bar 

Ngày đăng: 09/12/2017, 02:05

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan