浅析Java swing组件窗体设计
2020-08-21张丹丹



摘要:Java Swing组件是早期AWT组件的升级版本,但也不能替代AWT,早期在java的GUl设计中,AWT未能达成跨平台却有统一风格的界面设计。Swing由Java语言编写而成,而lava语言本身不受操作系统影响,因此被称为轻量级组件,可以在不同的平台上达成统一的界面效果。Swing包的JComponent类继承了awt包的Container类,所以大多组件都和容器相联系,比如JFrame、JDialog、JPanel,这些类对象都需要转换成容器,从而容纳其他组件。该文从JFrame窗体人手,对容器极其相关设置做出分析。
关键词:swing; awt; JFrame; JPanel; getContentPane0
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2020)21-0160-02
开放科学(资源服务)标识码(OSID):
1 为Jframe对话框添加背景色
創建继承Jframe的test类,在该类构造函数中,初始化窗体的背景色。由于Jframe只是一个窗体框架,并不构成一个容器,因此首先创建Container类变量,再调用getContentPane0将该类转换成容器,通常在构造函数中初始化容器,可以使用Container c=getContentPane0来完成。然后用该容器变量调用setBackground(Color.orange),设置窗体背景为橘色,在这里如果未设置容器,比如直接使用this.getContentPane0,就无法将颜色添加至窗体。接着设置窗体大小和可见性,直接调用父类方法java awt.component.setSize(int, int), java awt.component.setVisible(true)。最后在主函数中创建该类实例即可。代码如图1:
2 为Jframe窗体添加背景图
实现该功能可通过将图片装载在JPanel面板上,然后在jframe容器中添加该jpanel面板。因为JPanel默认仅设置背景颜色,无法设置图片背景,所以通过重写该类paintComponent(Graphics g)方法,使用g.drawlmage0将图片画人面板。
具体过程可在项目中新建两个类:JFrame子类和JPanel子类。在JPanel子类中,该类构造函数无法给面板加载背景图片,因此使用Image类先将图片放人内存,在此过程中建立String类的字符串链接url,在写url的时候,地址操作符使用”\\”,因为在lava中”\”表示转义字符,如应写成:String url=”D:\\timg.jpg”。……
