java注释 加粗_Java绘图技术,swing画图工具,文字,图片素材,注释,个人理解,星空等【诗书画唱】...

本文通过Java Swing展示了如何绘制空心长方形、三色国旗、文字、半圆以及图片,包括颜色、字体和大小的设置。还介绍了如何实现动态效果,如绘制星空和滚动文字,提供了完整的代码示例。
摘要由CSDN通过智能技术生成

使用绘图技术绘制一个空心长方形,要求长度为400px,宽度为200px,边框颜色为红色e5d230a9d958faacba929c3ce0ff73e1.png

package swing;

import java.awt.*;

import javax.swing.*;

public class paint extends JFrame{

public static void main(String[] args) {

new paint();

}

//public class paint{}这个类的构造方法:public paint(){}

public paint(){

//swing界面基本上要有:布局方式,大小,居中,释放资源,显示

this.setLayout(null);//:空布局

this.setSize(520,520);

this.setLocationRelativeTo(null);

huaBi huaBiClass=new huaBi();

huaBiClass.setBounds(0,0,520,520);

this.add(huaBiClass);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

class huaBi extends JPanel{

//使用画笔工具Graphics的方法就是要用paint方法:

public void paint(Graphics g){

g.setColor(Color.red);

//setColor设置颜色要先设置在drawRect或fillRect等的前面,

//setColor:设置空心矩形(drawRect)的边框的颜色

//或实心矩形(fillRect)的填充的颜色

g.drawRect(13,14,400,200);

}

}

e29f6773c2476cdcdf16a400d5fe0759.png

f88bd8885c1d000b3dd942055e6b2edf.png

使用绘图技术绘制三色国旗,长度为400px,宽度为200px,颜色分别是红黄蓝三种颜色

f775bb9513705b22663faff12cae67a9.png

package swing;

import java.awt.*;

import javax.swing.*;

public class guoQi extends JFrame{

public static void main(String[] args) {

new guoQi();

}

//public class paint{}这个类的构造方法:public paint(){}

public guoQi(){

//swing界面基本上要有:1布局方式,2大小,3居中,4释放资源,5显示

//————

this.setLayout(null);//:1布局方式(这里为空布局 )

//————

this.setSize(520,520);

//:2大小

//————

this.setLocationRelativeTo(null);

//:3居中

//————

huaBiGongJv huaBiGongJvClass=new huaBiGongJv();

huaBiGongJvClass.setBounds(0,0,520,520);

this.add(huaBiGongJvClass);

//————

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//:4释放资源

//————

this.setVisible(true);

//:5显示

//————

}

}

class huaBiGongJv extends JPanel{

//使用画笔工具Graphics的方法就是要用paint方法:

public void paint(Graphics g){

//setColor设置颜色要先设置在drawRect或fillRect等的前面,

//setColor:设置空心矩形(drawRect)的边框的颜色

//或实心矩形(fillRect)的填充的颜色

g.setColor(Color.red);

g.fillRect(13,14,400/3,200);

g.setColor(Color.yellow);

g.fillRect(13+400/3,14,400/3,200);

g.setColor(Color.blue);

g.fillRect(13+800/3,14,400/3,200);

}

}

fcab60a3bbfdef50f2df69c79e76e265.png

532faefe11dd3c3712d486911d658989.png

使用绘图技术绘制自己的名字,字体为红色,字体为微软雅黑,大小为30px,加粗

8d209df6f0ac541d15bdb738be189daf.png

package swing;

import java.awt.*;

import javax.swing.*;

public class font extends JFrame{

public static void main(String[] args) {

new font();

}

//public class paint{}这个类的构造方法:public paint(){}

public font(){

//swing界面基本上要有:1布局方式,2大小,3居中,4释放资源,5显示

//————

this.setLayout(null);//:1布局方式(这里为空布局 )

//————

this.setSize(520,520);

//:2大小

//————

this.setLocationRelativeTo(null);

//:3居中

//————

huaBiFont huaBiGongJvClass=new huaBiFont();

huaBiGongJvClass.setBounds(0,0,520,520);

this.add(huaBiGongJvClass);

//————

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//:4释放资源

//————

this.setVisible(true);

//:5显示

//————

}

}

class huaBiFont extends JPanel{

//使用画笔工具Graphics的方法就是要用paint方法:

public void paint(Graphics g){

//setColor设置颜色要先设置在drawRect或fillRect等的前面,

//setColor:设置空心矩形(drawRect)的边框的颜色

//或实心矩形(fillRect)的填充的颜色

//______

//使用绘图技术绘制自己的名字,

//字体为红色,字体为微软雅黑,大小为30px,加粗:

//——————

//除了这个区域的部分根据不同用途,情况变等,其余部分基本不变

g.setColor(Color.red);

g.setFont(new Font("微软雅黑",Font.BOLD,30));

g.drawString("诗书画唱",100,100);

//——————

}

}

b46b7fc749b1e5a952f205436ec5d91f.png

f92619bc58bfd3e7b1c0d9e008b01048.png

fbcf526a8129046f7bd42acbccc23887.png

f933fb366127d92dccbb079258dcb30b.png

使用绘图技术绘制一个180度的半圆,颜色为红色

1f78dbe9ab64e9f85412b040d32d3e40.png

package swing;

import java.awt.*;

import javax.swing.*;

public class banYuan extends JFrame{

public static void main(String[] args) {

new banYuan();

}

//public class paint{}这个类的构造方法:public paint(){}

public banYuan(){

//swing界面基本上要有:1布局方式,2大小,3居中,4释放资源,5显示

//————

this.setLayout(null);//:1布局方式(这里为空布局 )

//————

this.setSize(520,520);

//:2大小

//————

this.setLocationRelativeTo(null);

//:3居中

//————

huaBibanYuan huaBiGongJvClass=new huaBibanYuan();

huaBiGongJvClass.setBounds(0,0,520,520);

this.add(huaBiGongJvClass);

//————

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//:4释放资源

//————

this.setVisible(true);

//:5显示

//————

}

}

class huaBibanYuan extends JPanel{

//使用画笔工具Graphics的方法就是要用paint方法:

public void paint(Graphics g){

//setColor设置颜色要先设置在drawRect或fillRect等的前面,

//setColor:设置空心矩形(drawRect)的边框的颜色

//或实心矩形(fillRect)的填充的颜色

g.setColor(Color.red);

g.fillArc(100,100,150,150,0,180);

//:上半圆

//自己总结的语法:fillArc(X轴方向位移,

//Y轴方向位移,X轴方向宽度,Y轴方向高度,

//正摆放后的扇形顺时针旋转的角度,扇形对应的圆周角)

}

}

2331806c13485056cfff1aa3c6521b3e.png

7ea15eb2ebd50709d69f8ff32b6b22af.png

使用绘图技术绘制一张图片

67597d8992942ddeedcf34db99b34713.png

package swing;

import java.awt.*;

import javax.swing.*;

public class Img extends JFrame{

public static void main(String[] args) {

new Img();

}

//public class paint{}这个类的构造方法:public paint(){}

public Img(){

//swing界面基本上要有:1布局方式,2大小,3居中,4释放资源,5显示

//————

this.setLayout(null);//:1布局方式(这里为空布局 )

//————

this.setSize(520,520);

//:2大小

//————

this.setLocationRelativeTo(null);

//:3居中

//————

huaBiImg huaBiGongJvClass=new huaBiImg();

huaBiGongJvClass.setBounds(0,0,520,520);

this.add(huaBiGongJvClass);

//————

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//:4释放资源

//————

this.setVisible(true);

//:5显示

//————

}

}

class huaBiImg extends JPanel{

//使用画笔工具Graphics的方法就是要用paint方法:

public void paint(Graphics g){

//加载图片

Image img=Toolkit.getDefaultToolkit().getImage("三连.jpg");

g.drawImage(img, 13,14,520,233,this);

}

}

f392b5cde0e7ee221004df0bffefd557.png

5c292d6f357bac4068ddd80cd5a10952.png

0306bfbb50b4fcf95ac3e4ed233b450f.png三连.jpg

星空图的效果:

dc92c10341ce07e5a6891431ca907cb1.png

package swing;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Toolkit;

import java.util.Random;

import javax.swing.*;

public class starClass extends JFrame{

public static void main(String[] args) {

new starClass();

}

public starClass(){

//5个基本属性之三:

this.setLayout(null);

this.setSize(666,666);

this.setLocationRelativeTo(null);

//————

//启动线程部分:

huaTiClass huaTiClass=new huaTiClass();

Thread Thread=new Thread(huaTiClass);

Thread.start();

//————

//创建画图工具的图形部分:

huaTiClass.setBounds(0,0,666,666);

this.add(huaTiClass);

//————

//5个基本属性之二:

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

class huaTiClass extends JPanel implements Runnable{

public void paint(Graphics g){

Random RandomNum=new Random();

//设置画笔的颜色为黑色,这里是设置矩形的填充颜色:

g.setColor(Color.black);

//画个实心的矩形:

g.fillRect(0,0,666,666);

//绘制图片人物:

Image Image=Toolkit.getDefaultToolkit()

.getImage("timg.gif");

g.drawImage(Image,100,250,200,250,this);

//————

//用“*”来代替星星,绘制星星:

g.setColor(Color.white);

for(int i=0;i<100;i++){

g.drawString("*",RandomNum.

nextInt(600),RandomNum.nextInt(200));

}

//————

//绘制一个月亮:

g.fillOval(400,50,120,80);

g.setColor(Color.black);

g.fillOval(389,50,80,80);

//————

//每隔一段时间就打印一个字:“一起去看流星雨”

//【思路:将文字转为字符数组,for循环里每打印一个

//文字,休眠0.01秒】

char[] charArray="一起去看流星雨".toCharArray();

//(String类型的字符串).toCharArray:

//将字符串转化为字符数组:

g.setColor(Color.white);

g.setFont(new Font("微软雅黑",Font.BOLD,30));

for(int i=0;i

g.drawString(charArray[i]+"",666,233+(i*520));

try {

Thread.sleep(10);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//————

}

@Override

public void run() {

while(true){

try {

Thread.sleep(10);

repaint();

//————

//repaint

//vt.再次(重新)油漆,再次(重新)画;

//恢复…原来的色彩;

//n.重新涂漆的东西;

//————

//repaint()是重要概念,

//它是在图形线程后追加一段重绘操作,

//是安全的!是系统真正调用的重绘!

//所以如果你需要某个部件刷新一下界面,记得调用repaint(),

//千万不要直接调用paint()!

//Graphics是一个抽象类,

//其实现大都是平台相关的,

//所以不容易自己创建一个graphics实例。

//一般graphics的实例会由依照你所在的桌面环境给出。

//————

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

a70767b3a1ebfdebf41a0f9b63c2abbf.png

d9ddac98afce9ecd03422cd4033cebab.png

47be7d2813014550f10869e130881f0f.giftimg.gif

64507c55b5e9573f869ec80bd0dbb2d1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值