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() 获取图片描述`

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路径)

发布了12 篇原创文章 · 获赞 2 · 访问量 228
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览