第八章图形程序设计入门 ■课程内容:图形类的组织架构、框架、布局管理介绍、 面板作图、颜色与字体、几何图形、事件驱动编程 ■授课时间:2006/05/11 ■教学目标:了解图形类的组织架构,掌握框架设计以 及面板、颜色字体等的使用,了解事件驱动便编程 ■了 重点:框架、布局管理、面板作图、颜色与字体、几 何图形、事件驱动编程 ■教学方法:讲授 ■教学过程:(省略) ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 课程内容: 图形类的组织架构、框架、布局管理介绍、 面板作图、颜色与字体、几何图形、事件驱动编程 授课时间:2006/05/11 教学目标:了解图形类的组织架构,掌握框架设计以 及面板、颜色字体等的使用,了解事件驱动便编程 重点:框架、布局管理、面板作图、颜色与字体、几 何图形、事件驱动编程 教学方法:讲授 教学过程:(省略) 第八章 图形程序设计入门
图形类架构(Swing包) AWTEvent java.awt包中的类 LayoutManager 重量级的 Font FontMetrics Object Color Panel Applet JApplet Graphics Component Container Window Frame JFrame Dialog JDialog JComponent javax.swing包中Swing组件 轻量级的 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 图形类架构(Swing包) AWTEvent Font FontMetrics Component Graphics Object Color Container Panel Applet Frame Dialog Window JComponent JApplet JFrame JDialog javax.swing 包中 Swing 组 件 轻量级的 重量级的 java.awt 包中的类 1 LayoutManager *
JComponent JCheckBoxMenultem JMenultem JMenu AbstractButton Button JRadioButtonMenultem JToggleButton JCheckBox JRadioButton JComponent JEditorPane .JTextField JPasswordField .JTextArea JLabel JList JComboBox JMenuBar JPanel JOptionPane JScrollBar JScrollPane JFileChooser JPopupMenu .JSeparator JSlider JTabbedPane JRootPane JPane JProgressBar JToolBar JSplitPane ITable JTree JColorChooser JInternalFrame JToolTip JLayeredPane JTableHeader ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. JComponent . JButton JMenuItem JCheckBoxMenuItem AbstractButton JComponent JMenu .JRadioButtonMenuItem .JToggleButton JCheckBox JRadioButton .JComboBox .JInternalFrame .JLayeredPane .JList .JMenuBar .JOptionPane .JPopupMenu .JProgressBar .JPane .JScrollBar .JScrollPane .JFileChooser .JSeparator .JSplitPane .JSlider .JTabbedPane .JTable .JTableHeader .JTextComponent .JTextField .JEditorPane .JTextArea .JToolBar .JToolTip .JTree .JRootPane .JPanel .JPasswordField .JColorChooser .JLabel
AWT (Optional) AWTEvent Container Panel Applet Font Button Window Frame FontMetrics Label Dialog FileDialog TextField Object Color TextComponent TextArea Graphics List Component Choice CheckBox LayoutManager CheckBoxGroup Canvas MenuComponent Menultem Menu MenuBar Scrollbar ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. AWT (Optional) AWTEvent Font FontMetrics Component Graphics Object Color Canvas Button TextComponent Label List CheckBoxGroup CheckBox Choice Container Panel Applet Frame Dialog FileDialog Window TextField TextArea MenuComponent MenuItem MenuBar Menu Scrollbar LayoutManager
框架(Frame) ■入 框架是最上级窗口,不能被包含在另外的窗口 中.在Java图形应用中,框架是所有用户界面 组件的容器 ■Frame类可以被用于创建窗口 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 框架 (Frame) 框架是最上级窗口,不能被包含在另外的窗口 中. 在Java图形应用中,框架是所有用户界面 组件的容器 Frame类可以被用于创建窗口
UI组件 Frame 下拉菜单 Applet 下拉菜单 Panel Panel Panel 用户界面组件 (UI) 用户界面组件 用户界面组件 Panel Panel Panel 用户界面组件 用户界面组件 Panel Panel Panel UI UI UI panel ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. UI 组件 Frame 下拉菜单 用户界面组件 (UI) Panel Panel Panel UI Panel UI Panel UI Applet Panel 用户界面组件 Panel 用户界面组件 Panel 用户界面组件 Panel 用户界面组件 panel 下拉菜单
创建框架 import javax.swing.* public class MyFrame { public static void main(String [args) { JFrame frame new JFrame ("Test Frame"); frame.setsize(400,300); frame.setVisible(true); /frame.setDefaultCloseOperation( JFrame.EXIT ON CLOSE) ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 创建框架 import javax.swing.*; public class MyFrame { public static void main(String[] args) { JFrame frame = new JFrame("Test Frame"); frame.setSize(400, 300); frame.setVisible(true); // frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);① } }
框架定位 缺省情况下,框架显示在屏幕的左上角。如果 要指定显示位置,可使用setLocation(x,y) 方法,(x,y)设置框架的左上角位置 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 框架定位 缺省情况下,框架显示在屏幕的左上角。如果 要指定显示位置,可使用setLocation(x, y) 方法, (x, y)设置框架的左上角位置
框架定位(cont.) Screen (x,y) Frame frameHeight screenHeight screenWidth screenWidth 源码 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 框架定位(cont.) screenHeight screenWidth frameHeight screenWidth (x, y) Frame Screen 源码
加入组件 //把一个按钮加到框架中 frame.getContentPane (add new JButton ("OK")); 源码 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 加入组件 // 把一个按钮加到框架中 frame.getContentPane().add( new JButton("OK")); 源码