swinging in your java playground. background swing is a part of the java foundation classes (jfc)....

14
Swinging in Your Java Playground

Upload: magnus-baker

Post on 18-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

Swinging in Your Java Playground

Page 2: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

Background• Swing is a part of the Java Foundation Classes (JFC).

• The JFC is made up of features intended to give a programmer all the tools necessary to build enterprise applications.– Swing Components– Pluggable Look and Feel– Accessibility API– Java 2D API– Drag and Drop Support

Page 3: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

Swing Features

• Built on top of AWT 1.1, taking your 1995 school playground into 2000 and beyond

• New components exist in Swing – Tables, Trees, Sliders, Progress Bars, Internal

Frames, and Text Components.

• Tooltips can appear over GUI Components

• Bind Keyboard events to GUI Components

• Easily extendible to create Customized Components

Page 4: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

Swing DesignModel/View/Controller Architecture

• Model - The state data for a component. For example, a Choice would contain all the items that could be chosen. This data remains constant no matter what it’s representation is on the screen.

• View - The way a component actually appears when it is drawn on the screen

• Controller - The way a component interacts with the events that occur.

Page 5: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

Taking Turns on a Swing Component(Event Handling)

• When a component receives input, it fires events. An Object can register to receive those events by being added as a Listener to the Component.

• A Component can have multiple objects listening for its events.

• When the listening Object handles an event, it can do something to the Component or something else entirely.

Page 6: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

Taking Turns on a Swing Component(Event Handling)

Examplepublic class ClickEvent extends JFrame implements ActionListener {

private JButton click = new JButton("Click Me"); private JTextField welcomeText = new JTextField(); private JPanel thePanel = new JPanel();

public ClickEvent() { super("Event Example"); setSize(400,300); thePanel.setLayout(new GridLayout(2,1)); //this.getContentPane().add(click,BorderLayout.NORTH); thePanel.add(click); thePanel.add(welcomeText); this.getContentPane().add(thePanel,BorderLayout.CENTER); click.addActionListener(this); this.setVisible(true); }

Page 7: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

Taking Turns on a Swing Component(Event Handling)

Examplepublic void actionPerformed(ActionEvent e) { welcomeText.setHorizontalAlignment(JTextField.CENTER); welcomeText.setText("Hello Linux User's Group"); }

public static void main(String[] args) { ClickEvent clickEvent1 = new ClickEvent(); }}

Page 8: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

JTree Component

• The visual representation of data that is organized in tree format– Root, there is only 1 of these for a tree– Node, any entry in the tree– Leaf, any node without a child node

• Two Interfaces: – TreeModel - how to work with the data – TreeSelectionModel - how to select nodes within the

tree

Page 9: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

JTree ComponentContinued

• Node Interface: TreeNode, The basic piece of the tree– Contains the basic methods needed by the

TreeModel to manipulate the data

• All of the interfaces have Default implementations so that you don’t have to start from scratch

Page 10: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

JTree Component Continued

• Events– TreeExpansionEvent, When a node has been

expanded or collapsed– TreeSelectionEvent, A row (path) has been

selected or, if multiple rows can be selected, a row has been added or removed from that group selection.

Page 11: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

JTable Component

• The visual representation of data in a table format. It is very useful to display data from databases in this format.– Column is the basic unit of the Table. The data

represented in it is consistent– Row the collection of columns that uniquely

identifies an entity.– Cell the location at a particular row and column

of data.

Page 12: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

JTable ComponentContinued

• Two Interfaces:– TableColumnModel manages selection in the

column and spacing of the column in the table.– TableModel provides all the information

concerning the rows and columns in the table as well as access to the data found in the cells.

• Again, both interfaces have Default implementations.

Page 13: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

JTable ComponentContinued

• Events– TableColumnEvent used to notify that a

column model has changed. For example, that a column has been added, removed, or moved.

– TableModelEvent used to notify that the TableModel has changed and/or that rows/column data has changed

Page 14: Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer

Other Details

• Components are lightweight

• Swing runs on any JDK 1.1.5 or higher does not need to be downloaded for JDK 1.2; it is part of the core JDK.

• Java.swing.border package which contain 8 predefined classes for borders that can be placed around a component.

• Lots of classes exist to provide editing within the complex components.