Java—图形绘制


一、设置字体和颜色以及绘制文本

1.1设置字体

Java语言提供Font类,用来设置文本的字体(包括字形和字号等)。

Font类提供了一个构造方法,用它来创建字体对象。构造方法格式如下:

其中,String型的 name是字形名,常用的有TimesRoman 或宋体、楷体等;int型的style是字体风格,通常 Font. PLAIN 表示正常字体,Font. BOLD 表示黑体,Font.ITALIC表示斜体;int型的size是字号,用点来表示。

1.2设置颜色

Java语言通过Color类来控制颜色。

Color类提供了13种颜色常量、两个创建颜色对象的构造方法和若干获取颜色信息的方法。颜色常量有Color. black、Color. red、Color. blue、Color. green 等。Java 语言采用 24位颜色标准,每种颜色由红、绿和蓝3个值组成,RGB取值范围为0~255。

Color类提供的两个构造方法如下:

Color(int r,int g,int b)

Color(float r1, float gl,float b1)

int型数r、g、b表示红、绿、蓝的含量,取值范围为0~255;float型数据r1、g1、bl也表示红、绿、蓝的含量,取值范围为0.0~1.0。

设置当前颜色的方法如下:

public void setColor(Color c)

1.3绘制文本

Graphics类常用的绘制文本的方法如下:

public void drawstring(String string,int x,int y)

该方法用来把指定的字符串string显示到指定的位置(x,y),这里(x,y)是字符串的左下角起点。

演示如下:

package com.hg.day26.demo01;

import javax.swing.*;
import java.awt.*;

public class JDialogTest extends JDialog{
    public static void main(String[] args) {
        JDialog jd = new JDialog();
        jd.setVisible(true);
        jd.setBounds(200,200,400,600);

        Container c = jd.getContentPane();//获取窗体容器
        c.add(new JLabel("这是一个标签"));

    }
}

运行结果:
在这里插入图片描述

演示如下:

package com.hg.day26.demo01;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class JDialogTest2 extends JDialog {
    public JDialogTest2(JFrame frame){
        super(frame,"对话框标签",true);
        setVisible(true);//设置窗体可见
        setBounds(100,100,100,100);

    }

    public static void main(String[] args) {
        JFrame f = new JFrame("父窗体");
        f.setBounds(50,50,300,300);
        Container c = f.getContentPane();
        JButton btn = new JButton("弹出对话框");
        c.setLayout(new FlowLayout());
        c.add(btn);
        f.setVisible(true);
        f.setDefaultCloseOperation(EXIT_ON_CLOSE);
        btn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JDialogTest2 jd = new JDialogTest2(f);
                jd.setVisible(true);
            }
        });
    }
}

运行结果:
在这里插入图片描述

演示如下:

package com.hg.day26.demo01;


import javax.swing.*;
import java.awt.*;

public class jFrameTest extends JFrame{
    public jFrameTest(){
        JFrame f = new JFrame("大数据五班");//创建窗体对象,可在参数中设置窗体标题
        //设置窗体可见
        f.setVisible(true);
        //注意:点击关闭没有结束程序运行
//        EXIT_ON_CLOSE:影藏窗体、并停止程序
//        DO_NOTHING_ON_CLOSE:无任何操作
//        HIDE_ON_CLOSE:影藏窗体,但是不停止运行
//        DISPOSE_ON_CLOSE:释放窗体资源
        f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
//        f.setLocation(200,600);//设置位置,单位是像素,从左上角0.0开始
//        f.setSize(444,300);//设置大小,单位:像素
        setBounds(200,200,400,300);
        Container c = f.getContentPane();
        c.setBackground(Color.pink);//设置背景颜色
        JLabel l = new JLabel("自动登录");
        c.add(l);//添加组件
        //c.remove(l);//移除组件
        c.validate();
//        f.setContentPane(c);
        f.setResizable(true);
        System.out.println("x="+getX()+"y="+getY());
    }

    public static void main(String[] args) {
        new jFrameTest();
    }
}

运行结果:
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值