⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 facetest.java

📁 显示三个不同的表情
💻 JAVA
字号:
/**
   实验十一 显示表情   熟悉JAVA的事件处理机制
   @author Yangxiaoyan CS0501
*/

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

public class FaceTest
{

	public static void main (String [] args)
	{
		FaceFrame frame =new FaceFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);

		}
}

class FaceFrame extends JFrame
{
	    DrawButton myPanel=new DrawButton();
	    String choice="happy";//定义首页是笑脸

		public FaceFrame()
		{
			//Container con=getContentPane();
			//con.setLayout(new BorderLayout());
			setTitle("显示表情");
			setSize(400,400);

			JPanel down=new JPanel();
			JButton button1 = new JButton("Happy");
			JButton button2 = new JButton("Angry");
			JButton button3 = new JButton("Cry");
			JButton button4 = new JButton("Exit");

			button1.addActionListener(new ButtonAction("happy"));
			button2.addActionListener(new ButtonAction("angry"));
			button3.addActionListener(new ButtonAction("cry"));
		    button4.addActionListener(new ButtonAction("exit"));

			down.add(button1);
			down.add(button2);
			down.add(button3);
			down.add(button4);
			add(down,BorderLayout.SOUTH);

	        add(myPanel,BorderLayout.CENTER);//表情面板居中

		}

		 class ButtonAction implements ActionListener
			{
				private String str;
				public ButtonAction(String str){this.str=str;}
				public void actionPerformed(ActionEvent e)
				{
		     		 choice=str;
		     		 repaint();
				}
	}


	class DrawButton extends JPanel
	{


			public void paintComponent(Graphics g)
			{
					super.paintComponent(g);
					Graphics2D g2=(Graphics2D) g;

					g2.setPaint(Color.PINK);
		            g2.fillOval(100,100,200,150); //画脸型

					if(choice.equals("happy")) //画微笑的脸
					{
						setBackground(Color.YELLOW);
						g2.setPaint(Color.BLACK);
						g2.drawArc(140,160,50,50,30,120);
						g2.drawArc(210,160,50,50,30,120);
						g2.drawArc(175,170,50,50,200,140);

						}
					if(choice.equals("angry")) //画生气的脸
					{
						setBackground(Color.RED);
						g2.setPaint(Color.BLACK);
						g2.drawLine(140,150,185,170);
						g2.drawLine(215,170,260,150);
						g2.drawLine(180,220,200,200);
						g2.drawLine(200,200,220,220);

						}
					if(choice.equals("cry"))//画哭泣的脸
					{
						setBackground(Color.BLUE);
						g2.setPaint(Color.BLACK);
						g2.drawLine(140,170,185,150);
						g2.drawLine(215,150,260,170);
						g2.drawOval(180,200,40,20);
		                g2.drawOval(150,200,3,6);
		                g2.drawOval(180,170,3,9);
		                g2.drawOval(220,170,4,8);
		                g2.drawOval(250,210,2,6);
					    }
		            if(choice.equals("exit")) //退出
		            {
						System.exit(0);
					}
			}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -