Swing程序设计总结(一)

Swing程序设计(一)

  • JFrame可用方法如下:
    1.getContentPane() 获取窗体容器
    2.setContentPane(面板容器对象) 载入容器
    3.setTitle(…) 设置窗体标题
    4.setSize(x,y) 设置窗体大小,单位:像素
    5.setLocation(a,b) 设置窗体坐标,单位:像素
    6.setBounds(a,b,x,y) 设置窗体坐标和大小
    7.setResizable(true|false) 设置窗口大小是否可以改变
    8.setVisible(false|true) 设置窗体是否可视化
    9.setDefaultCloseOperation() 设置关闭方式———— (DO_NOTHING_ON_CLOSE 什么都不做直接关闭,程序并未结束 | DISPOSE_ON_CLOSE 释放窗体资源后关闭 | HIDE_ON_CLOSE 隐藏窗口 | EXIT_ON_CLOSE 退出程序)
    10.getX() 获取窗体横坐标
    11.getY() 获取窗体纵坐标
    12.setLocationRelativeTo(null) 窗体居中

    注:Frame窗体默认布局为BorderLayout

  • Container(Container a = f.getContentPane())
    1.setBackground(Color.BLUE) 设置容器的背景颜色
    2.add() 添加组件
    3.remove() 删除组件
    4.validate() 验证容器中的组件(使容器可以再次布置组件,即刷新操作)
    5.setLayout(布局对象) 设置布局

  • JDialog(对话框窗体)
    方法与JFrame差不多
    构造方法:
    JDialog() 创建没有指定父类窗体、标题、模式的对话框
    JDialog(Frame f) 创建有指定父类窗体的对话框
    JDialog(Frame f,boolean model) 创建指定父类窗体、模式的对话框
    JDialog(Frame f,String title) 创建指定父类窗体、标题的对话框
    JDialog(Frame f,String title,boolean model) 创建指定父类窗体、标题、模式的对话框

  • JLabel(标签:可显示图像和文本)
    构造方法:
    JLabel() 创建不带文本和图标的JLabel对象
    JLabel(Icon icon) 创建带图标的JLabel对象
    JLabel(Icon icon,int aligement) 创建带图标的JLabel对象,并设置图标水平对齐方式
    JLabel(String text,int aligement) 创建带文本的JLabel对象,并设置文字水平对齐方式
    JLabel(String text,Icon icon,int aligement) 创建带文本和图标的JLabel对象,并设置标签内容的水平对齐方式

    aligement参数取值:
    SwingConstants.LEFT
    SwingConstants.CENTER
    SwingConstants.RIGHT
    SwingConstants.LEADING
    SwingConstants.TRAILING

    常用方法:
    1.getText() 获取标签内容
    2.setText(…) 设置标签内容
    3.setFont(Font f) 设置字体样式 拓展:new Font(字体,样式(如变粗),大小) 如:Font f = new Font(“微软雅黑”,Font.BOLD,15 )
    4.setForeground(Color.RED) 更改前景色(即字体颜色)
    5.setIcon(Icon icon) 添加图片 拓展:Icon icon = new ImageIcon(图片路径,默认为项目路径),注:Icon为接口,ImageIcon为Icon的实现类,这里为向上转型
    6.setSize(x,y) 设置标签大小,不会改变图片大小 注:(有图片时,标签和图片大小都不改变)
    7.setHorizontalAlignment(int alignment) 设置标签内容水平对齐方式

  • 图标的使用(Icon接口)
    通过Icon接口绘制图标必须实现接口三个方法:
    1.public int getIconHeight() 用于获取图标的长
    2.public int getIconWidth() 用于获取图标的宽
    3.public void paintIcon(Component arg0, Graphics arg1, int x, int y) 在指定坐标位置画图(本方法似乎是自动调用,因本人初学java,怎么调用尚不知道)

例子如下:

import java.awt.*;

import javax.swing.*;

public class DrawIcon implements Icon { // 实现Icon接口
	private int width; // 声明图标的宽
	private int height; // 声明图标的长
	
	public int getIconHeight() { // 实现getIconHeight()方法
		return this.height;
	}
	
	public int getIconWidth() { // 实现getIconWidth()方法
		return this.width;
	}
	
	public DrawIcon(int width, int height) { // 定义构造方法
		this.width = width;
		this.height = height;
	}
	
	// 实现paintIcon()方法
	public void paintIcon(Component arg0, Graphics arg1, int x, int y) {
		arg1.fillOval(x, y, width, height); // 绘制一个圆形
	}
	
	public static void main(String[] args) {
		DrawIcon icon = new DrawIcon(100, 50);
		// 创建一个标签,并设置标签上的文字在标签正中间
		JLabel j = new JLabel("测试", icon, SwingConstants.CENTER);
		JFrame jf = new JFrame(); // 创建一个JFrame窗口
		Container c = jf.getContentPane();
		c.add(j);
		jf.setSize(100,100);
		jf.setVisible(true);
		jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	}
}

  • ImageIcon(图片图标)
    该类实现了Icon接口,支持多种图片格式

    构造方法:
    ImageIcon()创建通用的对象,当设置图片时再用setImage(Image image)
    ImageIcon(Image image) 直接从图片源创建图标
    ImageIcon(Image image,String description) 除了添加图片还可以加描述,但并不会显示在图片上,可用getDescription()获取描述。
    ImageIcon(URL url) 利用位于计算机网络上的图像文件创建图标。

    常用方法:
    setImage(Image image) 设置图片
    getDescription() 获取图片描述`
    public int getIconWidth() 获取图标的宽度。
    public int getIconHeight() 获取图标的高度。
    public Image getImage() 返回此图标的 Image 。

import java.awt.*;
import java.net.*;

import javax.swing.*;

public class MyImageIcon extends JFrame {

	private static final long serialVersionUID = 1L;

	public MyImageIcon() {
		Container container = getContentPane();
		// 创建一个标签
		JLabel jl = new JLabel("这是一个JFrame窗体", JLabel.CENTER);
		// 获取图片所在的URL
		URL url = MyImageIcon.class.getResource("imageButton.jpg");
		Icon icon = new ImageIcon(url); // 实例化Icon对象
		jl.setIcon(icon); // 为标签设置图片
		// 设置文字放置在标签中间
		jl.setHorizontalAlignment(SwingConstants.CENTER);
		jl.setOpaque(true); // 设置标签为不透明状态
		jl.setSize(250, 100);
		container.add(jl); // 将标签添加到容器中
		setSize(1000, 200); // 设置窗体大小
		setVisible(true); // 使窗体可见
		// 设置窗体关闭模式
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	}
	
	public static void main(String args[]) {
		new MyImageIcon(); // 实例化MyImageIcon对象
	}

上述代码中
URL url =MyImageIcon.class.getResource(“imageButton.jpg”);
getResource可以获取资源文件的URL路径,这个路径是相对于MyImageIcon类文件的,上述例子中图片和类放在同一包下。(简单来说是这个代码是获取与MyImageIcon类同一包下的资源文件的URL路径)

  • Image抽象类(图像类)
    抽象类 Image 是表示图形图像的所有类的超类。必须以特定于平台的方式获取图像。
构造方法说明
public Image()创建图像实例

注意:该类为抽象类,不可直接new实例化,需要通过其他方法获得实例对象。

常用方法说明
public abstract int getWidth(ImageObserver observer)确定图像的宽度。如果宽度未知,则此方法返回 -1,然后通知指定的 ImageObserver 对象。
public abstract int getHeight(ImageObserver observer)确定图像的高度。如果高度未知,则此方法返回 -1,然后通知指定的 ImageObserver 对象。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值