图形化界面

Java图形化界面

  1. 设置窗口关闭同时关闭程序:
addWindowListener(new WindowAdapter() {
    @Override
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
});
  1. 使用画笔工具:
@overide
public void paint(Graphics g) {  
    //更改颜色,可以先将画笔现在的颜色保存,然后进行更改,用完之后再改回原来的颜色。
    Color c = g.getColor();
    g.setColor(Color.BLUE)
    
    //也可以设置字体,跟颜色设置一样可以先保留现有字体样式
    Font f = g.getFont();
    g.setFont(new Font("宋体",Font.BOLD,50));
    
    //从坐标点(100,50)到(400,400)画出直线
    g.drawLine(100, 50, 400, 400); 
    //画出矩形。矩形左上角顶点坐标(100,50),宽度300,高度300
    g.drawRect(100, 50, 300, 300);  
    //画出椭圆。椭圆外切矩形为:左上角顶点(100,50),宽度300,高度300
    g.drawOval(100, 50, 300, 300);  
    //画实心矩形,左上角顶点坐标(100,100),宽度40,高度40
    g.fillRect(100,100,40,40);
    
    //在图形上面写字
    g.drawString("你好",200,200);
    
    //将画笔颜色改回去
    g.setColor(c);
}
  1. 图片加载:
    GameUtil工具类
    我们可以将一些辅助性的工具方法通通放到GameUtil中,便于重复调用。
    GameUtil类:加载图片代码
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
 
public class GameUtil {
    // 工具类最好将构造器私有化。
    private GameUtil() {
     
    } 
 
    public static Image getImage(String path) {
        BufferedImage bi = null;
        try {
            URL u = GameUtil.class.getClassLoader().getResource(path);
            bi = ImageIO.read(u);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return bi;
    }
}
上面的方法是读取图片的方法,下面可以使用返回的图片进行相关的操作。
//将背景图片与飞机图片定义为成员变量
    Image bgImg = GameUtil.getImage("images/bg.jpg");
    Image planeImg = GameUtil.getImage("images/plane.png");
 
    //paint方法作用是:画出整个窗口及内部内容。被系统自动调用。
    @Override
    public void paint(Graphics g) {  
        g.drawImage(bgImg, 0, 0, null);
        g.drawImage(planeImg, 200, 200, null);
    }
        2022-2-24
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值