1 / 20

第十二章 JFC/Swing

第十二章 JFC/Swing.  概述  Swing 组件  Swing 应用程序结构  JComponent 类. JFC/Swing.  Java Foundation Classes(JFC) 包含如下特征:  Swing 组件  支持可插入的 look&feel  Accessibility  Java 2D  Drag and Drop. Swing 介绍. Swing 中的所有组件全部用 Java 语言实现。 可插入的 look and feel  与 AWT 相比提供更丰富的 GUI 组件,引入新的特征,

Download Presentation

第十二章 JFC/Swing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十二章 JFC/Swing 概述 Swing组件 Swing应用程序结构 JComponent类

  2. JFC/Swing  Java Foundation Classes(JFC) 包含如下特征: Swing 组件  支持可插入的look&feel  Accessibility Java 2D  Drag and Drop

  3. Swing介绍 • Swing中的所有组件全部用Java语言实现。 • 可插入的look and feel • 与AWT相比提供更丰富的GUI组件,引入新的特征, • 并提供更丰富的功能。

  4. Swing组件类层次 Java.awt.Container Javax.swing.Jcomponent JTextArea JTextField … JTextComponent AbstractButton Jpanel JComboBox JLabel Jtree … JPasswordField JCheckBox JRadioButton JToggleButton JButton JMeneItem

  5. Swing组件——顶层容器 Dialog Frame Applet

  6. Swing组件——通用容器 Panel Scroll pane Split pane Tabbed pane Tool bar

  7. Swing组件——特殊用途的容器 Internal frame Layered pane Root pane

  8. Swing组件——基本控制 List Buttons Combo box Slider Text fields Menu

  9. Swing组件——信息显示 Progress bar Tool tip Label

  10. Swing组件——可编辑格式化信息显示 Color chooser File chooser Table Text Tree

  11. Swing程序举例 import javax.swing.*; public class HelloWorldSwing { public static void main(String[] args) { JFrame frame = new JFrame("HelloWorldSwing"); final JLabel label = new JLabel("Hello World"); frame.getContentPane().add(label); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); frame.pack(); frame.setVisible(true); } }

  12. Swing应用程序基本结构 引入Swing 包: import javax.swing.*; 以及 import java.awt.*; import java.awt.event.*; 选择Look&Feel 设置窗口容器 设置Swing组件

  13. Swing中的Look&Feel Java look and feel Windows look and feel CDE/Motif look and feel

  14. Swing中的Look&Feel • 使用UIManager.setLookAndFeel( )方法进行设置。 • 在该方法中可以使用的参数: • UIManager.getCrossPlatformLookAndFeelClassName() • -- Java Look & Feel. • UIManager.getSystemLookAndFeelClassName() • –当前平台的look&feel • "javax.swing.plaf.metal.MetalLookAndFeel" • --Java Look & Feel. • "com.sun.java.swing.plaf.windows.WindowsLookAndFeel" • -- Windows Look & Feel. • "com.sun.java.swing.plaf.motif.MotifLookAndFeel" • -- CDE/Motif Look & Feel. • "javax.swing.plaf.mac.MacLookAndFeel" • -- Mac OS Look & Feel

  15. 设置窗口容器 •  JFrame类似于Frame ,Jframe是AWT中Frame的子类。 • 不能直接向JFrame中加入组件,而要向 Jframe的content pane或向另外提供的新的content pane中增加组件。 • content pane中包含除了menu bar之外的所有组件。 getContentPan()– 获取Jframe的content pane; • setContentPan()– 设置content pane

  16. 设置Swing组件 frame = new JFrame(...); button = new JButton(...); label = new JLabel(...); pane = new JPanel(); pane.add(button); pane.add(label); frame.getContentPane().add(pane,BorderLayout.CENTER);

  17. 设置Swing组件边界 pane.setBorder(BorderFactory.createEmptyBorder( 30, //top 30, //left 10, //bottom 30) //right );

  18. Swing中的事件处理

  19. 建立Swing GUI • Swing包中定义了两类组件: • 顶层容器(JFrame,Japplet,Jwindow,Jdialog) • 轻型组件(‘J’开头的所有组件,如Jbutton,Jpanel,Jmenu等) • 一般如果使用Swing组件,则程序中只使用Swing组件 • 和Swing容器。 • Swing组件可以加入到一个与顶层容器相关的content pane 中,而不能直接加入到顶层容器中。

  20. JComponent类 setBorder() – 设置组件边界; setToolTipText() – 当鼠标移动到组件时,显示简短帮助信息 registerKeyboardAction()—使用键盘进行界面操作。 UIManager.setLookAndFeel() -- 应用程序范围的可插入Look&feel

More Related