งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

G RAPHICAL U SER I NTERFACE (GUI). AWT (A BSTRACT W INDOWING T OOLKIT ) AWT (Abstract Windowing Toolkit) เป็น เครื่องมือสร้าง Graphic User Interface (GUI)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "G RAPHICAL U SER I NTERFACE (GUI). AWT (A BSTRACT W INDOWING T OOLKIT ) AWT (Abstract Windowing Toolkit) เป็น เครื่องมือสร้าง Graphic User Interface (GUI)"— ใบสำเนางานนำเสนอ:

1 G RAPHICAL U SER I NTERFACE (GUI)

2 AWT (A BSTRACT W INDOWING T OOLKIT ) AWT (Abstract Windowing Toolkit) เป็น เครื่องมือสร้าง Graphic User Interface (GUI) และกำหนดส่วนประกอบ (Component) ต่างๆ ให้กับ GUI โดยภาษา Java ซึ่งจะประกอบไป ด้วย 3 ส่วนคือ Components เช่น ปุ่ม (button), กล่องรับ ข้อความ (textfield), ข้อความป้าย (label) เป็น ต้น Containers เป็น Component ใหญ่ที่จะจัดเก็บ Component ย่อยอื่นๆ ตัวอย่าง Containers เช่น Applet, Container, Dialog,Frame, Panel,Scrollane เป็นต้น Layout Managers เป็นการจัดเรียง Component ที่อยู่ใน Containers เช่น FlowLayout, BorderLayout, GridLayout, CardLayout และ GridBagLayout

3 S WING O VERVIEW แต่ Component ต่างๆ ใน AWT มีข้อจำกัดบางอย่าง ดังนั้นจึงมีการพัฒนา Package ใหม่ชื่อ Swing ขึ้นมา สนับสนุนของเดิมให้ดีขึ้น ซึ่งในวิชานี้เราจะใช้ Component ต่างๆใน Swing ซึ่งเป็น Class ที่ถูก จัดเก็บไว้ใน Package “javax.swing”

4 Swing Component class Compon ent javax.swing.JButtonButton javax.swing.JCheckboxCheckbox javax.swing.JDialogDialog javax.swing.JFrameFrame javax.swing.JLabelLabel javax.swing.JMenuMenu javax.swing.JPanelPanel javax.swing.JScrollbarScrollbar javax.swing.JScrollPan e Scroll pane javax.swing.JTextAreaText Area javax.swing.JTextFieldText Field javax.swing.JComboBo x Combo Box javax.swing.JListList

5 1. สร้าง Object ของ Jframe JFrame Object = new JFrame(); JFrame Object = new JFrame ( object_string_title_bar ) ขั้นตอนการสร้าง GUI

6 import javax.swing.*; public class GUI { public static void main(String[] args) { JFrame f = new JFrame(); f.setDefaultCloseOperation(3); f.setSize(400,400); f.setVisible(true); }

7 ขั้นตอนการสร้าง GUI 2. สร้าง Object ของ Class Component ใน Swing JComponent Object2 = new JComponent() ; รูปแบบ *Component เขียนแทน button, label,list เป็นต้น 3. เพิ่ม Component ลงใน Container โดยใช้ method add() add(Object2, LayoutManager) ; รูปแบบ

8 ขั้นตอนการสร้าง GUI 1. สร้าง Object ของ Class Containers และ กำหนดพื้นที่ในการแสดงผลด้วย method getContentPane() Containers Object1 = getContentPane() ; รูปแบบ 2. สร้าง Object ของ Class Component ใน Swing JComponent Object2 = new JComponent() ; รูปแบบ *Component เขียนแทน button, label,list เป็นต้น

9 ขั้นตอนการสร้าง GUI 3. เพิ่ม Component ลงใน Container โดยใช้ method add() Object1.add(Object2) ; รูปแบบ 4. กำหนดการจัดเรียง Component ใน Container Object1.setLayout (new LayoutManager) ; รูปแบบ * LayoutManager เป็น Object ของ Class LayoutManager เช่น FlowLayout, BorderLayout, GridLayout, CardLayout และ GridBagLayout

10 JAVA-SWING :: JP ANEL C LASS method: new JPanel (); return type:Jpanel content: ใช้สร้าง Object Jpanel example: JPanel panel = new JPanel ();

11 JAVA-SWING :: JL ABEL C LASS method:new JLabel (); return type: Jlabel content: ใช้สร้าง object jlabel example: JLabel label = new JLabel (); JLabel label = new JLabel ( icon, SwingContants.RIGHT ); String text_label = new String ( "Name :" ); JLabel label = new JLabel ( text_label ); ImageIcon icon = new ImageIcon ( "C:/bamboo.gif" ); JLabel label = new JLabel ( "Name :", icon, SwingContants.RIGHT );

12 String text; Icon image; int alignment; // JLabel.LEFT, JLabel.Center, or JLabel.RIGHT. JLabel yourLabel = new JLabel(text); JLabel yourLabel = new JLabel(text, alignment); JLabel yourLabel = new JLabel(image); JLabel yourLabel = new JLabel(image, alignment); JLabel yourLabel = new JLabel(text, image, alignment); รูปแ บบ ขั้นตอนการสร้าง GUI

13 method:new JTextField (); return type:JTextField content: ใช้สร้าง object JTextField example: JTextField text_field = new JTextField (); JTextField text_field = new JTextField ( 12 ); // มีการกำหนด ขนาดความกว้าง AVA-SWING :: JT EXT F IELD C LASS

14 method:new JTextArea (); return type:JTextArea content: ใช้สร้าง object JTextArea example: JTextArea text_area = new JTextArea (); JTextArea text_area = new JTextArea ( 12, 60 ); extArea text_area = new JTextArea ( " บ้านเลขที่ หมู่ที่ ตำบล อำเภอ จังหวัด ประเทศ ", 12, 60 ); JTextArea text_area = new JTextArea (); text_area.setText ( " บ้านเลขที่ หมู่ที่ ตำบล อำเภอ จังหวัด ประเทศ " ); JTextArea text_area = new JTextArea ( " บ้านเลขที่ หมู่ ที่ ตำบล อำเภอ จังหวัด ประเทศ ", 12, 60 ); String selected_text = text_area.getSelectedText (); AVA-SWING :: JT EXT A REA C LASS

15 String text; Icon image; => ImageIcon icon = new ImageIcon ( "C:/bamboo.gif" ); JButton btn = new JButton(text); JButton btn = new JButton(text, image); JButton btn = new JButton(image); รูปแ บบ JButton button = new JButton (); JButton button = new JButton ( "cancel" ); ImageIcon icon = new ImageIcon ( "C:/bamboo.gif" ); JButton button = new JButton ( icon ); JButton button = new JButton ( "cancel", icon ); AVA-SWING :: JB UTTON C LASS

16 ตัวอย่าง public void create(){ JPanel panel = new JPanel(); panel.add(new JButton("Button")); add(panel,BorderLayout.SOUTH); setTitle("Simple example"); setSize(400, 400); setDefaultCloseOperation(EXIT_ON_CLO SE); setVisible(true); }

17 ขั้นตอนการสร้าง GUI JCheckBox รูปแบบการสร้าง Object ใน class JCheckBox JCheckbox namecheckbox = new JCheckbox("Label",Group,Checkedstatus ); รูปแ บบ **Group คือการจัดกลุ่มของ checkbox ถ้าไม่มีกลุ่มให้ เป็น nul **CheckedStatus เป็นการบอกสถานะว่ามีการเช็คที่ช่อง หรือป่าว ถ้าเป็น true ก็จะเช็ค ถ้าเป็น false ก็จะไม่เช็ค JCheckBox ignoreCase = new JCheckBox("Ignore Case", true);

18 JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(110, 110)); p1.setBorder(LineBorder.createGrayLin eBorder()); p1.setBackground(Color.gray); p1.add(new JCheckBox("check 1")); p1.add(new JCheckBox("check 2",true)); add(p1,BorderLayout.WEST); ตัวอย่าง

19 ขั้นตอนการสร้าง GUI ButtonGroup รูปแบบการสร้าง Object ใน class ButtonGroup ButtonGroup nameButtonGroup= new ButtonGroup(); รูปแ บบ JRadioButton รูปแบบการสร้าง Object ใน class JRadioButton JRadioButton namebutton = new JRadioButton("Label",status); รูปแ บบ

20 ตัวอย่าง JPanel p = new JPanel(); p.setLayout(new BoxLayout(p,BoxLayout.X_AXIS)); ButtonGroup g = new ButtonGroup(); JRadioButton r1= new JRadioButton("radio 1"); JRadioButton r2= new JRadioButton("radio 2"); JRadioButton r3= new JRadioButton("radio 3"); g.add(r1); g.add(r2); g.add(r3); p.add(r1); p.add(r2); p.add(r3); add(p); setSize(400, 400); setVisible(true);

21 ขั้นตอนการสร้าง GUI JMenuBar รูปแบบการสร้าง Object ใน class JMenuBar JMenuBar namemenubar = new JMenuBar(); รูปแ บบ JMenu รูปแบบการสร้าง Object ใน class JMenu JMenu nameMenu = new JMenu (); รูปแ บบ

22 ขั้นตอนการสร้าง GUI JMenuItem รูปแบบการสร้าง Object ใน class JMenuItem JMenuItem nameMenuItem = new JMenuItem (); รูปแ บบ

23 ขั้นตอนการสร้าง GUI JToolBar รูปแบบการสร้าง Object ใน class JToolBar JToolBar name JToolBar = new JToolBar(); รูปแ บบ

24 ขั้นตอนการสร้าง GUI JComboBox รูปแบบการสร้าง Object ใน class JComboBox JComboBox nameCombo = new JComboBox(ListData[]); รูปแ บบ JList รูปแบบการสร้าง Object ใน class JList JList namelist = new JList(ListData[] ); รูปแ บบ

25 ตัวอย่าง JPanel p3 = new JPanel(); JComboBox cb = new JComboBox(); cb.addItem("data 1"); cb.addItem("data 2"); p3.add(cb);

26 ขั้นตอนการสร้าง GUI JTextField รูปแบบการสร้าง Object ใน class JTextField JTextField nameTextField = new JTextField(“Label”,size ); รูปแ บบ JTabbedPane รูปแบบการสร้าง Object ใน class JTabbedPane JTabbedPane nameTabbedPane = new JTabbedPane(); รูปแ บบ

27 ขั้นตอนการสร้าง GUI JScrollBar รูปแบบการสร้าง Object ใน class JScrollBar JScrollBar scroll_bar = new JScrollBar (); รูปแ บบ ScrollBar scroll_bar = new JScrollBar ( JScrollBar.VERTICAL ); JScrollBar scroll_bar = new JScrollBar ( JScrollBar.HORIZONTAL);

28 ขั้นตอนการสร้าง GUI JScrollPane ใช้สร้าง Object JScrollPane โดยจะมี scrollbar ขึ้นมาทั้ง แนวตั้งและแนวนอน เมื่อจำเป็น รูปแบบการสร้าง Object ใน class JScrollBar Container container = getContentPane (); JScrollPane scroll_pane = new JScrollPane (); container.add ( scroll_pane ); รูปแ บบ

29 ขั้นตอนการสร้าง GUI JScrollPane ใช้สร้าง object JTabbedPane รูปแบบการสร้าง Object ใน class JTabbedPane JTabbedPane tab = new JTabbedPane (); JTabbedPane tab = new JTabbedPane ( JTabbedPane.RIGHT ); TabbedPane tab = new JTabbedPane ( JTabbedPane.RIGHT ); tab.addTab ( "DataEmployee", new JButton ( "TestTab" ) ); ImageIcon icon = new ImageIcon ( "c:/bamboo.gif" ); JTabbedPane tab = new JTabbedPane ( JTabbedPane.RIGHT ); tab.addTab ( "DataEmployee", icon, new JButton ( "TestTab" ) ); รูปแ บบ

30 ขั้นตอนการสร้าง GUI JScrollPane ใช้สร้าง object JTable รูปแบบการสร้าง Object ใน class JTable JTable table = new JTable (); DefaultTableModel table_model = new DefaultTableModel (); String [] value = { "bamboo", "lab", "code" }; table_model.addColumn ( "website", value ); JTable table = new JTable ( table_model ); JTable table = new JTable ( 5, 3 ); รูปแ บบ

31 L AYOUT M ANAGER FlowLayout เป็นการเรียง Component แบบง่าย โดยจะเรียงจากซ้ายมือไปขวามือตามแนวนอน พอหมดบรรทัดก็จะขึ้นใหม่ ปกติถ้าไม่กำหนด อะไร (defaults) Layout แบบ FlowLayout จะ กำหนดระยะห่างระหว่าง Component เป็น ระยะห่าง 5 พิกเซล และจะกำหนดให้ Component ทั้งหมดอยู่ตรงกลาง แต่สามารถ ปรับระยะห่าง หรือตำแหน่งของ Component FlowLayout(align, int HorizontalSpacing,int VerticalSpacing); *align คือตำแหน่งที่จะวาง component เช่น right,left,center * HorizontalSpacing คือค่าระยะห่างระหว่าง Component แนวนอน * VerticalSpacing คือค่าระยะห่างระหว่าง Component แนวตั้ง

32 ตัวอย่าง FlowLayout( FlowLayout.LEFT, 5, 10 ); L AYOUT M ANAGER

33 GridLayout เป็นการเรียง Component ในรูปแบบ ตาราง โดยจะจัดเรียง component ในลักษณะ row กับ column โดยจะแบ่งเท่าๆกันหมดทุก cell และจะเรียง component จากซ้ายมือไปขวามือ ตามแนวนอน พอหมดบรรทัดก็จะขึ้นใหม่ ในการ จัดเรียงแบบนี้จะต้องกำหนด row และ column ก่อน ( ถ้าไม่กำหนด default จะให้เป็น 1 component ต่อ 1column) อีกทั้งยังสามารถ ปรับระยะห่าง หรือตำแหน่งของ Component ได้ L AYOUT M ANAGER GridLayout(int row,int column,int HorizontalSpacing,int VerticalSpacing);

34 ตัวอย่าง GridLayout( 4,3,5,5); L AYOUT M ANAGER

35 BorderLayout เป็นการเรียง Component บน Container ที่ถูกแบ่งเป็น 5 ส่วน ตามทิศต่างๆ เช่น North, South, West, East,Center เมื่อ ต้องการจะนำ Component ไปลงบน Container จะต้องกำหนด ทิศทางด้วย ( จะทำต้อง Add Component นั้นเอง ) วิธีใช้ container.add(Component,Borderlayou t.position) *Position คือ North, South, West, East,Center L AYOUT M ANAGER BorderLayout(int HorizontalSpacing,int VerticalSpacing);

36 ตัวอย่าง container.add(Northbutton,Borderlayout.North ); container.add(Centerbutton,Borderlayout.Cent er);. L AYOUT M ANAGER

37 JAVA-SWING :: JC OMPONENT C LASS Method : setMaximumSize ( object_dimension ); return type: void content: ใช้กำหนด maximum size ให้กับ jcomponent ในรูปแบบของ dimension example: JButton button = new JButton ( "cancel" ); Dimension dimension = new Dimension ( 120, 30 ); button.setMaximumSize ( dimension );

38 JAVA-SWING :: JC OMPONENT C LASS method:getMaximumSize (); return type:Dimension content: ใช้คืนค่า maximum size ของ jcomponent ในรูปแบบของ dimension example: JButton button = new JButton ( "cancel" ); button.setBounds ( 0, 0 150, 30 ); Dimension maximum_size = button.getMaximumSize ();


ดาวน์โหลด ppt G RAPHICAL U SER I NTERFACE (GUI). AWT (A BSTRACT W INDOWING T OOLKIT ) AWT (Abstract Windowing Toolkit) เป็น เครื่องมือสร้าง Graphic User Interface (GUI)

งานนำเสนอที่คล้ายกัน


Ads by Google