Your SlideShare is downloading. ×
09 gui
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

09 gui

548
views

Published on

Published in: Technology, Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
548
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 09 GUIs
    HUREE University ICT
    Instructor: M.J LEE
  • 2. Contents
    Abstract Window Toolkit
    Container
    Frame
    Panel
    Layout Manager
    Flow Layout
    Border Layout
    Grid Layout
    2
  • 3. AWT(Abstract Window Toolkit)
    AWT: the group of classes for GUI in Java
    3
    • Java.awt.*
    • 4. Component / Container
  • Frame
    4
    import java.awt.*;
    public class MyFrameextends Frame {
    public MyFrame (String str) {
    super(str);
    }
    public class MyFrameMain {
    public static void main (String args[]) {
    MyFramefr = new MyFrame(“It’s frame!");
    fr.setSize(500,500);
    fr.setBackground(Color.blue);
    fr.setVisible(true);
    }
    }
    1
    2
    “is a relation”
     MyFrame is Frame
    3
    Create container
    Set the size of frame
    4
    5
    Set the background Color:Color is Class
  • 5. Panel
    Use add() method, when adding components
    Panel can’t be displayed by itself. Therefore, it should be included in Frame
    Some components are disposed in Panel by Layout Manager
    5
  • 6. 6
    import java.awt.*;
    public class FrameWithPanelextends Frame {
    public FrameWithPanel (String str) {
    super(str);
    }
    }
    Public class FrameWithPanelMain() {
    public static void main (String args[]) {
    FrameWithPanelfr = new FrameWithPanel(“Panel in Frame");
    Panel pan = new Panel();
     
    fr.setSize(200,200); // a frame
    fr.setBackground(Color.blue);
    fr.setLayout(null);
     
    pan.setSize(100,100); // a panel
    pan.setBackground(Color.yellow);
     
    fr.add(pan); // put the panel in the frame
    fr.setVisible(true);
    }
    }
    Panel
  • 7. Layout Manager
    FlowLayout
    Panel, default Layout manager of Applet
    BorderLayout
    Window, default Layout manager of Frame
    GridLayout
    CardLayout
    GridBagLayout
    7
  • 8. 8
    import java.awt.*;
    public class ExGui {
    private Frame f; // declarationFrame
    private Button b1; // declaration Button
    private Button b2;
    public void go() {
    f = new Frame("GUI example");
    f.setLayout(new FlowLayout());
    b1 = new Button(“Yes”);
    b2 = new Button(“No");
    f.add(b1); // append Button on Frame
    f.add(b2);
    f.pack(); // instead of “.setSize()”
    f.setVisible(true);
    }
    }
    public static ExGuiMain() {
    public static void main(String args[]) {
    ExGuiguiWindow = new ExGui();
    guiWindow.go();
    }
    }
    1. Flow Layout
  • 9. Layout Manager –1.Flow Layout
    At above example, which didn't inherit Frame, declared new frame in the class
    Properties, Flow Layout Manager
    is a default layout manager of Panel
    depose components from left to right!
    depose components at the middle of Frame, as default
    decide the size of components by itself
    It is possible to exchange attributes by using constructor
    9
    setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 40))
  • 10. Layout Manager –1.Flow Layout
    Components are disposed at right side.
    Gap of left and right between components
    Gap of top and bottom between components (unit: pixel)
    10
    setLayout(new FlowLayout(FlowLayout.RIGHT, 20, 40))
    1
    2
    3
  • 11. 11
    import java.awt.*;
    public class MyFlow {
    private Frame f;
    private Button button1, button2, button3;
    public void go() {
    f = new Frame("Flow Layout");
    f.setLayout(new FlowLayout());
    button1 = new Button("Ok");
    button2 = new Button("Open");
    button3 = new Button("Close"); f.add(button1);
    f.add(button2);
    f.add(button3);
    f.setSize(100,100);
    f.setVisible(true);
    }
    }
    Public class MyFlowMain() {
    public static void main(String args[]) {
    MyFlowmflow = new MyFlow();
    mflow.go();
    }
    }
    1. Flow Layout
  • 12. 12
    import java.awt.*;
    public class ExGui2 {
    private Frame f;
    private Button bn, bs, bw, be, bc;
    public void go() {
    f = new Frame("Border Layout");
    bn = new Button("B1");
    bs = new Button("B2");
    bw = new Button("B3");
    be = new Button("B4");
    bc = new Button("B5");
    f.add(bn, BorderLayout.NORTH);
    f.add(bs, BorderLayout.SOUTH);
    f.add(bw, BorderLayout.WEST);
    f.add(be, BorderLayout.EAST);
    f.add(bc, BorderLayout.CENTER);
    f.setSize(200,200);
    f.setVisible(true);
    }
    public static void main(String args[]) {
    ExGui2 guiWindow2 = new ExGui2();
    guiWindow2.go();
    }
    }
    2. Border Layout
  • 13. 13
    2. Grid Layout
    import java.awt.*;
    public class TestGrid {
    private Frame f;
    private Button b1, b2, b3, b4, b5, b6;
    public void go() {
    f = new Frame(“Grid Layout");
    f.setLayout (new GridLayout(3,2));
    b1 = new Button("1");
    b2 = new Button("2");
    b3 = new Button("3");
    b4 = new Button("4");
    b5 = new Button("5");
    b6 = new Button("6");
    f.add(b1);
    f.add(b2);
    f.add(b3);
    f.add(b4);
    f.add(b5);
    f.add(b6);
    f.pack();
    f.setVisible(true);
    }
    public static void main(String args[]) {
    TestGrid grid = new TestGrid();
    grid.go();
    }
    }
  • 14. Layout Manager –3.Grid Layout
    Add(): components are disposed from left to right, upside to bottom
    The size of each cell, which is divided by Grid Layout Manager, is same.
    The number of cells can be defined when they are created with Constructor.
    f.setLayout (new GridLayout(3,2));
    14