• 第十一周课程总结


    第十一周课程总结

    基本容器JFrame.

    如果要使用Swing创建一个窗口,则直接使用JFrame即可。
    创建一个新窗口
    package java1.awt.test;
    import javax.swing.JFrame ;
    import java.awt.Color ;
    public class JFrameDemo01{
            public static void main(String args[]){
                    JFrame f = new JFrame("第一个Swing窗体") ;
                    f.setSize(400,200) ;           // 设置组件的大小:宽度400,高度200
                    f.setBackground(Color.BLUE) ;  // 将背景设置成蓝色
                    f.setLocation(500,100) ;       // 设置组件的在屏幕中的显示位置:距离屏幕左边500,距离屏幕上边100
                    f.setVisible(true) ;           // 让组件可见
            }
    };
    

    有关JFrame的使用要注意的就是一方面是他自带容器的利用,这个容器无需添加,另外一个方面就是常见的配置流程:

    在创建对象的时候传入字符串,添加控件,设置大小以及Location,设置窗口的关闭方式,最后通过调用JFram.setVisible(ture)

    实现Frame的显示。

    1、用java.awt.Color类来设置窗口的背景颜色。
    2、用Dimension类来设置窗口的大小。
    3、用Point类来设置窗口显示的位置。
    JFrame类、Dimension类、Point类的常用操作方式和方法在教材上都有我就不一一总结了。

    问:为什么在实例化Frame对象是不用异常处理? 
    Frame类的构造方法上使用了throws关键字抛出异常,为什么在此时的程序中却没有使用try…catch语句来进行异常处理呢。 
    答: 
    Java中只要是RuntimeException类型的异常,可以不用try…catch处理。这里HeadlessException是RuntimeException类型的,所以在上面的两个实例中不需要进行异常处理。
    

    标签组件JLabel。

    JLabel组件表示的是一个标签,本身是用于显示信息的,一般情况下是不能直接更改器显示内容的。创建完的Label对象可以通过Container类中的add()方法,加入到容器中。

    在Swing中显示文本或提示信息的方法是使用标题,它支持文本字符串和图标。在应用程序的用户界面中,一个简短的文本标签可以使用户知道这些组件的目的,所以标签在Swing中是比较常用的组件。

    标签由JLabel类定义,它的父类为JComponent类。

    JLabel组件显示的是静态文本或者图片,在通常情况下是不能编辑的,只起到提示的作用。观察QQ登录界面输入框左侧的头像,他就可以用JLabel组件实现。

    JLabel组件中主要的构造方法如下:
    
    (1)JLabel():创建空的标签。
    
    (2)JLabel(String):创建一个带初始字符串的标签。
    
    (3)JLabel(Icon):创建一个带有指定图像的标签。
    

    更改JLabel的文字样式用Font类。其常用操作方法在教课书上有总结和详细介绍,在此就不一一叙述了。

    在JLabel中设置图片

    将一个图片设置到JLabel中也是可以的,直接使用Icon接口以及ImageIcon子类即可。

    按钮

    几乎所有的交互式程序中都会有按钮,它是一种交互能力强且交互方便的控件,这个组件提供了“按下并动作”的基本用户界面。

    构造方法如下:
    
    (1):JButton():建立一个没有标示字符串的新按钮类对象。
    
    (2):JButton(String label):建立一个标示字符串为label的新按钮类对象。
    

    四.布局管理器
    在Swing中,每个组件在容器中都有一个具体位置和大小,而在容器中摆放各种组件时很难判断其具体位置和大小。布局管理器提供了Swing组件安排、展示在容器中的方法及基本的布局功能。
    使用布局管理器较程序员直接在容器中控制Swing组件的位置和大小方便得多,可以有效地处理整个窗体的布局。Swing提供的常用布局管理器包括流布局管理器、边界布局管理器和网格布局管理器。

    1.BorderLayout 。 
    将版面划分成东、西、南、北、中五个区域,将添加的组件按指定位置放置。 
    BorderLayout.EAST 
    BorderLayout.WEST 
    BorderLayout.SOUTH 
    BorderLayout.NORTH 
    BorderLayout.CENTER 
    构造函数: 
    BorderLayout() 
    建立组件间无间距的BorderLayout 
    BorderLayout(int hgap,int vgap) 
    建立组件间水平间距为hgap,垂直间距为vgap的BorderLayout 
    
    2.FlowLayout。
    组件按从左到右而后从上到下的顺序依次排列,一行不能放完则折到下一行。
    
    构造函数: 
    FlowLayout() 
    建立一个默认为居中对齐,组件彼此有5单位的水平与垂直间距的FlowLayout 。
    FlowLayout(int align) 
    建立一个可设置排列方式且组件彼此有5单位的水平与垂直间距的FlowLayout。 
    FlowLayout(int align,int hgap,int vgap) 
    建立一个可设置排列方式与组件间距的FlowLayout 。
    
    3.GridLayout
    
    java.lang.Object 
    –java.awt.GridLayout 
    矩形网格形式对容器的组件进行布置
    
    构造函数: 
    GridLayout() 
    建立一个默认为一行一列的GridLayout。 
    GridLayout(int rows,int cols) 
    建立一个指定行(rows)和列(cols)的GridLayout。 
    GridLayout(int rows,int cols,int hgap,int vgap) 
    建立一个指定行(rows)和列(cols),且组件间水平间距为hgap、垂直间距为vgap的GridLayout。 
    
    4.GridBagLayout
    
    java.lang.Object 
    –java.awt.GridBagLayout 
    GridBagLayout以表格形式布置容器内的组件,将每个组件放置在每个单元格内,而一个单元格可以跨越多个单元格合并成一个单元格,即多个单元格可以组合成一个单元格,从而实现组件的自由布局。 
    构造函数: 
    GridBagLayout() 
    建立一个默认的GridBagLayout 
    每一个单元格都有各自的属性,而这些属性由GridBagConstrainsts类的成员变量来定义,且GridBagConstriaints中的所有成员变量都是public的。 
    
    5.CardLayout
    
    java.lang.Object 
    –java.awt.CardLayout 
    以层叠的方式布置组件,如同很多张卡片叠在一起,从而只能看到最上面的那一张卡片。 
    构造函数: 
    CardLayout() 
    建立一个无间距的CardLayout 
    CardLayout(int hgap,int vgap) 
    建立一个水平间距为hgap、垂直间距为vgap的CardLayout 
    

    绝对布局

    在Swing中,除了使用布局管理器之外还可以使用绝对布局。绝对布局,就是硬性指定组件在容器中的位置和大小,可以使用绝对坐标的方式来指定组件的位置。
    
    (1)使用Container.setLayout(null)方法取消布局管理器
    
    (2)  使用Component.setBounds()方法设置每个组件的大小与位置。
    

    流布局管理器

    流布局管理器是最基本的布局管理器,在整个容器中的布局正如其名,像“流”一样从左到右摆放组件,知道占据了这一行的所有空间,然后再向下移动一行。默认情况下,组件在每一行都是居中排列的,但是通过设置也可以更改组件在每一行上的排列位置。
    
    FlowLayout布局管理器是一种最简单的布局管理方法,是JPanel的默认布局。它以流式的方式,自左向右,自上而下地放置容器中的组件,即组件按每行先后自左向右放置,一行放不下时换行。FlowLayout的默认对齐方式为居中对齐,也可以手工设置为左对齐或右对齐。
    
    FlowLayout中常用的构造方法:
    
    (1)FlowLayout():创建默认的FlowLayout布局管理器。
    
    (2)FlowLayout(int):以指定的对齐方式创建FlowLayout布局管理器。其中参数:
    
     FlowLayout.LEFT(左对齐)、FlowLayout.RIGHT(右对齐)、FlowLayout.CENTER(居中对齐)。
    
    (3)FlowLayout(int,int,int);以指定的对齐方式及间距创建FlowLayout布局管理器。其中,第一个参数为对齐方式,第二个参数为组件间以及组件与容器边之间的水平距离,第三个参数为组件之间以及组件与容器边之间的垂直间距。
    

    这就是我的本周学习小结。

  • 相关阅读:
    Selenium 2自动化测试实战
    Python学习笔记整理(python 3)
    Python编程中出现ImportError: bad magic number in 'numpy': b'x03xf3 '
    收集的一些表单常用的正则表达式。
    转载的一篇博客,感觉不错,自我感觉很到位,来自 http://www.cnblogs.com/laizhihui/p/5810965.html
    闲来无写的,就是中间有一条小细线,求大神指点。
    自己总结的有关PHP一些基本知识和一些常见的js问题
    不经意间看到的东西,感觉不错(转载)。
    无束缚版贪吃蛇(就问你爽不爽)
    小图局部放大效果(图片的话就自己找一个吧,记得是一张图片用两次,不是两张图片,而且你的图片不一定与我一样,需改一下放大的尺寸)
  • 原文地址:https://www.cnblogs.com/neir/p/11812613.html
Copyright © 2020-2023  润新知