Java GUI Mad God Talking Series Video Summary (9)

1. Draw an icon

//这是我自己的包
package GUI;
//导入必要的包  
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//继承Icon图标这个接口要实现里面的所有抽象方法
public class TestDemo extends JFrame implements Icon{
    
    
	
	private int width;
	private int height;
	
	//构造器 一个无参 一个有参数
	//没参数的给实例化这个类使用
	public TestDemo(){
    
    
	}
	
	//有参数的给实例化一个图标使用
	public TestDemo(int width,int height){
    
    
		this.width = width;
		this.height = height;
	}
	
	//这是一个方法
	public void init(){
    
    
		
		//设置大小可见性
		setBounds(300,300,100,100);
		setVisible(true);
		
		//初始化图标,设置图标大小
		Icon TestDemo1 = new TestDemo(15,15);
		
		
		//图标可以放在标签上,也可以放在按钮上
		JLabel jlabel = new JLabel("ICON",TestDemo1,SwingConstants.CENTER);
		
		//得到容器
		Container container = getContentPane();
		
		//将标签添加到容器上
		container.add(jlabel);
		
	}
	
	
	
	public static void main(String[] args) {
    
    
		new TestDemo().init();
	}

	@Override //实现图标必要的方法 这是画一个什么图
	public void paintIcon(Component c, Graphics g, int x, int y) {
    
    
		// TODO Auto-generated method stub
		g.fillOval(x, y, this.width,this.height);
	}

	@Override
	public int getIconWidth() {
    
    
		// TODO Auto-generated method stub
		return this.width;
	}

	@Override
	public int getIconHeight() {
    
    
		// TODO Auto-generated method stub
		return this.height;
	}
}

Second, the use of picture icons

//这是我自己的包
package GUI;
//导入必要的包  
import java.awt.*;
import java.awt.event.*;
import java.net.URL;
import javax.swing.*;
public class TestDemo extends JFrame {
    
    
	
	public TestDemo(){
    
    
	 
 	 //新建一个标签
	 JLabel jlabel = new JLabel();
	
	 //新建一个URL地址 得到这个图片的地址 一定要放在包下
	 URL url = TestDemo.class.getResource("keai.jpg");
	
	 //这个图片图标将会去找到这个
	 ImageIcon imageicon = new ImageIcon(url);
	 
	 //添加到jlabel上
  	 jlabel.setIcon(imageicon);
  	 
	 //设置居中
	 jlabel.setHorizontalAlignment(SwingConstants.CENTER);
	 
	 //得到容器
	 Container container = getContentPane();
	 
	 //将标签添加到容器上
	 container.add(jlabel);
			 
	//设置位置大小 可见性
	setBounds(300,300,400,400);
	setVisible(true);
		 
	
	}
	public static void main(String[] args) {
    
    
		new TestDemo();
	}
}

Guess you like

Origin blog.csdn.net/qq_45911278/article/details/111579480