欢迎来到天天文库
浏览记录
ID:38813633
大小:561.50 KB
页数:63页
时间:2019-06-19
《用户界面组件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、239第9章用户界面组件在Java图形界面设计时,界面上的元素都是组件。常用的轻型组件有JButton、JLabel、JTextField、JTextArea、JComboBox、JList、JCheckBox、JRadioButton、JMenuBar、JMenu、JMenuItem、JScrollBar、JScrollPane等。9.1组件(component)Component类是所有组件(UI组件和容器)的父类,因此Component类的特征被其所有子类继承。所有组件外形都是矩形框。屏幕有个坐标系,组件以屏幕坐标来确定组件在屏幕上显示的位置。在默认情况下,组件在屏幕
2、上显示时,组件的左上角的坐标值是(0,0)。当组件是容器时,容器也有自已的坐标系。当把组件加入容器时,被加入容器的组件在容器中的位置由组件的左上角坐标(x,y)确定。这里的(x,y)是组件的左上角在容器坐标系中的值。下面介绍Component类的常用属性和方法。9.1.1组件的属性组件的重要属性如下:lfont:组件中显示文字所用的字体。lbackground:组件的背景色。lforeground:组件的前景色。lheight:组件的当前高度。lwidth:组件的当前宽度。llocale:组件的地区特性.lpreferredSize:组件在视觉上的理想尺寸.lminimum
3、Size:指定组件可用的最小尺度。对大部分Swing组件而言,minimumSize与preferredSize是相同的.一般地,与preferredSize相比,布局管理器更优先考虑minimumSize.lmaximumSize:指定组件需要的最大尺度,这样布局管理器可以避免由于分配给某一组件过多的空间而造成浪费。lToolTipText:鼠标指向组件所显示的文字.239239lDoubleBuffered:指定绘制组件时是否采用双缓冲技术.lBorder:指定组件的边框9.1.2组件的常用方法1.颜色的设置和获取lpublicvoidsetBackground(Col
4、orcolor):设置组件的背景色。lpublicColorgetBackground(Colorcolor):获取组件的背景色。lpublicvoidsetForeground(Colorcolor):设置组件的前景色。lpublicColorgetForeground(Colorcolor):获取组件的前景色。2.字体的设置和获取lpublicvoidsetFont(Fontfont):组件调用该方法设置组件上的字体。例如,文本框调用该方法,可以设置文本框中的字体。lpublicFontgetFont(Fontfont):组件调用该方法获取组件上的字体。在创建字体对象时
5、,要使用参数(字体名称),因此,执行程序的计算机上必须有这个字体名称。如果在创建字体对象时,没有给出一个合理的字体名称,那么系统会自动采用程序运行平台上的默认字体名称。如何获取计算机上所有可用的字体名称?分析:GraphicsEnvironment类是java.awt包中的抽象类,不能用该类的构造方法创建对象。我们用GraphicsEnvironment类的类方法获取图形对象(GraphicsEnvironment对象)。然后通过GraphicsEnvironment对象中的String[]getAvailableFontFamilyNames()方法获取计算机上所有可用的
6、字体名称,并存放到字符串数组中。获取计算机上所有字体名称的代码如下:GraphicsEnvironmentge=GraphicsEnvironment.getLocalGraphicsEnvironment();//获取计算机的图象对象StringfontName[]=ge.getAvailableFontFamilyNames();//把一系列字体名称保存到数组中【例9.1】窗体里添加两个按钮和一个标签。通过点击按钮1和按钮2设置标签颜色和字体。解题思路:1、对题目进行分析设计,分析这个程序需要多少个类完成;2、创建窗体,然后创建两个面板,用于往窗体里添加两个按钮和添加一
7、个标签;3、然后对这些组件进行监听,当事件源是按钮1和按钮2被按下的时候触发事件,设置标签颜色和字体;程序名:ChangeFontextends.java【程序源代码】239239importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;//下面是定义一个ChangeFont框架类publicclassChangeFontextendsJFrame{//实例化两个按钮privateJButtonbut1=newJButton("button1");pri
此文档下载收益归作者所有