黑马程序员---GUI编程

来源:互联网 发布:器乐培训行业数据 编辑:程序博客网 时间:2024/06/05 10:47
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

GUI编程学习总结:

1.GUI即图形用户接口,是创建可视化程序的编程,GUI编程的核心是组件,组件的核心是事件监听器。

2.一个组件就是一个javabean,只不过这个JavaBean很复杂,因为是javabean,所以组件里的想暴露给IDE的

方法都是符合JavaBean命名规范的,即以get或set开头,其他的不想暴露给IDE的方法不必遵循javabean命名

规范,这些方法通过IDE也是不可操作的。

3.在Java中与GUI编程相关的类都在java.swing和java.awt两个包中,swing是awt的升级版,因为在awt中,很多

组件该有的特性都支持的不怎么好,组件数量也比较少,而且无法跨平台,swing封装了大量的组件,支持更加

灵活的布局。

以下为awt和swing组件对比:

 1.awt中的组件:

Object    CheckboxGroup    *Component        Button        Canvas        CheckBox        Choice        Container            Panel                Applet            ScrollPane            Window                Dialog                Frame        Label        List        TextComponent            TextArea            TextField    MenuComponent        MenuItem            CheckboxMenuItem            Menu                PopupMenu

2.swing中的组件:

Object    *Component        Container            *JComponent                *AbstractButton                    JButton                    JMenuItem                        JCheckBonMenuItem                        JMenu                        JRadioButonMenuItem                    *JToggleButton                        JCheckBox                        JRadioButton                Box                 Filler                JColorChooser                JComboBox                JDesktopIcon                JFileChooser                JInternalFrame                JLabel                JLayeredPane                    JDesktopPane                JList                JMenuBar                JOptionPane                JPanel                JPopupMenu                JProgressBar                JRootPane                JScrollBar                JScrollPane                JSeparator                JSlider                JSplitPane                JTabbedPane                JTable                JTableHeader                *JTextComponent                    JEditorPane                        FrameEditorPane                        JTextPane                    JTextArea                    JtextField                        JPasswordField                JToolBar                JToolTip                JTree                JViewport                    ScrollableTabViewport            Panel                Applet                    JApplet            Window                Dialog                    JDialog                Frame                    JFrame                JWindow

可以看到,swing组件比awt要多的多。

awt和swing布局管理器对比:

1.awt中的布局管理器,其中带星号为接口:

*LayoutManager    FlowLayout    GridLayout    *LayoutManager2        BorderLayout        CardLayout        GridBagLayout
2.swing中的布局管理器:

*LayoutManager    CenterLayout    *LayoutManager2        BoxLayout        OverlayLayout        SpringLayout

可以看到,swing重新定义了布局管理器,但只是有些名字变了,其布局思想是不变的。

4.awt类库是线程安全的,而swing则不是,因为awt是线程安全的,因此他要做更多的工作,因此运行效率较swing

要低。

5.awt和swing中的事件驱动模型:

  1.awt和swing中的组件都能接收到事件,并且能对事件作出响应,究竟作出何种响应,要看我们给其注册的监听函数。

  2.awt中支持的事件列表,其中每一种事件都对应一个事件监听器,抽象事件除外:

Object    EventObject        AWTEvent            ActionEvent            AdjustmentEvent            ComponentEvent                ContainerEvent                FocusEvent                InputEvent                    KeyEvent                    MouseEvent                        MouseWheelEvent                PaintEvent                WindowEvent            HierarchyEvent            InputMethodEvent            InvocationEvent            ItemEvent            TextEvent


3.swing中支持的事件列表:

Object    EventObject        AWTEvent            AncestorEvent            ComponentEvent                InputEvent                    KeyEvent                        MenuKeyEvent                    MouseEvent                        MenuDragMouseEvent            InternalFrameEvent


以下是关于GUI编程的一些简单示例:

1.创建一个简单窗体:

 

2.给窗体添加一些组件,并组册一些事件监听函数:

 
3.布局管理器的使用:

 

 

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

详细请查看:www.itheima.com

0 0