zoukankan      html  css  js  c++  java
  • 第十二周课程总结

    第十二周
    本周主要学习了图形界面的其他容器,包括JPanel、JSplitPane、JTabbedPane、JScrollPane、JDesktopPane与JInternalFrame容器功能和运用,进一步丰富对窗口界面更加灵活的设置与操作,还讲解了关于窗口的反应即事件处理,对窗口进行监听其上的操作,并作出简单反应;新接触后感觉非常新颖和有趣,特别是课上登陆界面的演习、演示,让我们清楚的认识到就算窗口放大放小,都能监听,更别说登陆次数或登陆个数,甚至是登陆过的账号全能记录若事先有设置监听,只可惜密码无法解析,不过也非常强大了。

    一、其他容器:

    1、JPanel


    • JPanel 是 Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,是一种轻量级容器,可以加入到JFrame窗体中。

    • JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField 等,功能是对对窗体上的这些控件进行组合。

    • 两个构造方法

    2、JSplitPane


    • JSplitPane能将窗口分割成两部分。
    • JSplitPane提供两个常数让你设置到底是要水平分割还是垂直分割。这两个常数分别是:HORIZONTAL_SPIT, VERTICAL_SPLIT
    splitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,text1,text2);此为水平分割;
    splitPane=new JSplitPane(JSplitPane.VERTICAL_SPLIT,text1,text2);此为垂直分割。
    
    • 使用多个JSplitPane可以实现复杂分割。

    • JSplitPane类的主要方法及常量

    3、JTabbedPane


    • 选项卡面板(JTabbedPane):一个面板上设置多个选项卡供使用者选择。
    • 一个组件,它允许用户通过单击具有给定标题或图标的选项卡,在一组组件之间进行切换。
    • JTabbedPane类的常用方法及常量

    4、JScrollPane


    • JScrollPane的主要功能就是为显示的内容添加滚动条。
    • JScrollPane类可提供轻量级组件的 scrollable 视图。JScrollPane 管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口。
    • JScrollPane的常用方法及常量

    5、JDesktopPane与JInternalFrame


    • JDesktopPane用于创建多文档界面或虚拟桌面的容器。
    • JInternalFrame类是一个轻量级对象,用来创建支持拖动、关闭、图标化、调整大小、最小化、最大化、标题显示和菜单栏的内部窗体,JInternalFrame不能单独出现,必须依附在最上层组件上,该内部窗体需要显示在JDesktopPane类创建的桌面面板中。
    • 使用JDesktopPane与JInternalFrame可以实现一个窗体可以出现多个子窗体,且每一个子窗体都无法超出父窗体的区域。
    • JDesktopPane类的两个常用方法:

    二、事件处理


    • 事件:
      图形用户界面是基于事件驱动的,即当用户与图形用户界面交互时,这些构件就产生事件。
      例如,当移动鼠标、单击按钮、在文本框中输入字符、关闭一个窗口等,这些都是事件。

    • 事件处理:
      事件处理采用的是基于事件源、事件对象和监听者的委托事件处理模型;
      其基本原理是:每个事件源可以发出若干种不同类型的事件,在程序中为每个事件源指定一个或者多个监听者,它可以对某种事件进行监听,如果某种事件发生,就调用相应监听者中的方法。
      一个对象发生状态变化,监听器则是不断监听事件变化,并根据这些事件进行相应地处理。如果没有能够接收和处理事件的对象,图形界面程序所发生的一切事件都是隐形的。
      所有监听器都是以接口的形式实现的,为了减少不必要的程序段,在使用监听器的时候,通常都使用对应的监听适配器。

    • 窗体事件:
      WindowListener是专门用来处理窗体事件的监听接口,一个窗体的所有状态变化,如窗口打开与关闭、缩小与最大化等都可以用这个接口进行监听。

    • 动作事件:
      动作事件可以使按钮变得有意义,在Swing中,可以使用ActionListener接口处理按钮的动作事件。由于ActionLIstener接口定义了一个方法,因此没有对应的监听适配器。

    • 适配器类(Adapter):
      适配器类都是实现了对应的接口的类;
      使用适配器类可以使得代码更加清晰;


    三、参考与仿写课本实例进行练习:

    • 实验代码

    package 第十二周之图形界面;
    
    import javax.swing.*;
    import java.io.*;
    import java.awt.*;
    
    
    public class DP 
    {
    	public static void main(String[]args) 
    	{
            JFrame a=new JFrame("无相之音");
            JTabbedPane tab=new JTabbedPane(JTabbedPane.TOP);                                                                      // 顶部
            JPanel p1=new JPanel();
            JPanel p2=new JPanel();
            
            String path="E:"+File.separator+"sxs"+File.separator+"110.jpg";
            
            Icon icon = new ImageIcon();
            JButton b=new JButton("清悠灬音辰");
            JLabel c=new JLabel("上上签");
            
            p1.add(b);
            p2.add(c);
            
            JScrollPane scr1=new JScrollPane(tab,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            
            tab.addTab("图录",null,new JLabel(new ImageIcon(path)),"无相之音");
            tab.addTab("文印",p2);
            tab.addTab(" 零 ",p1);
            
            a.add(scr1);
            a.pack();
            a.setVisible(true);
        }
    
    }
    
    • 效果截图:



  • 相关阅读:
    面向对象的三大特性之继承和多态(20161025)
    面向对象基础和面向对象的三大特性之一:封装(20161024)
    正则表达式和数组(20161023)
    php基础语法(20161021)
    学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)
    CRUD操作(20161017)
    TSQL语句和CRUD(20161016)
    Combine Two Tables
    Second Highest Salary
    Employees Earning More Than Their Managers
  • 原文地址:https://www.cnblogs.com/youlanghua/p/11869235.html
Copyright © 2011-2022 走看看