Download presentation
Presentation is loading. Please wait.
Published byCaren Rich Modified over 9 years ago
1
עקרונות תכנות מונחה עצמים תרגול 5 - GUI
2
בשיעור הקודם : Introduction to GUI Swing Basic components Event handling
3
Outline Containers Layouts Advanced examples
4
Top-Level Containers Swing uses tree top-level contauners:
5
Top-Level Containers
6
General-Purpose Containers JPanel Contains other components (JButton,JLabel,…) Can be contained by Top-Level Containers We can set its own features such as Background Color, Layout, size,etc... JPanel buttonPanel = new JPanel( new FlowLayout()); buttonPanel.setBackground(Color.magenta); buttonPanel.add(convertButton); buttonPanel.add(resetButton); buttonPanel.add(changeButton); getContentPane().add(buttonPanel);
7
General-Purpose Containers Scroll Pane Takes another component(the ViewportView) and displays it with scrollers (if necessary) textArea = new JTextArea(10,30); JScrollPane sp = new JScrollPane(textArea); …
8
General-Purpose Containers Split Pane Takes two component and displays them with a moveable splitter in the middle splitPane = new JSplitPane(Jsplitpane.HORIZONTAL_SPLIT, listScrollPane, pictureScrollPane); splitPane.setDividerLocation(150);
9
General-Purpose Containers Tabbed Pane Can be given any number of components as tabs by using addTab JTabbedPane tp = new JTabbedPane(); Tp.addTab(“Tab 1”, icon, panel1);
10
General-Purpose Containers Toolbar Lays out buttons conveniently
11
Layouts
12
Simple Layouts
13
Example 1 PIZZA PANEL
14
Example 1: Pizza panel
15
The Pizza Class
16
Recalculating
17
Making Spinners
18
Making Checkboxes
19
Making the Frame
20
Toppings Panel
21
Cost Panels
22
Wrapping Up the Frame
23
Advanced Layouts Spring Layout Allows specifying distances between pairs of components (“springs”)
24
Spring Layout
25
Advanced Layouts GridBag Layout Like grid, but inner components can span over several cells and respond differently to re-sizing.
26
GridBag Constraints
27
Desigging GridBag Layouts
29
Example 2 Personal Details Panel
31
Reminder: Gridbag Constaints
32
Personal Details Panel
33
Personal Details Panel Constructor
34
Prototype Constraints
35
Name and Surname
36
Gender Panel
37
Age Spinner
38
Address
39
Comments Panel
40
Putting in all together
41
Layout Considerations What to consider when planning a layout? Not distorted by resize Aligned, visually attractive Put important data in the center, auxiliaries on the sides Flexible, user-controlled Usable
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.