graphicspanel.java

来自「java编程开发技巧与实例的编译测试通过的所有例程」· Java 代码 · 共 96 行

JAVA
96
字号
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class GraphicsPanel extends JPanel implements ActionListener
{
	private JPopupMenu	menu	=	new JPopupMenu("Menu");
	private JMenuItem	exit	=	new JMenuItem("Exit");
	private class Trigger extends MouseAdapter
	{
		public void mousePressed (MouseEvent me)
		{
			if (SwingUtilities.isRightMouseButton(me))
				menu.show(GraphicsPanel.this, me.getX(), me.getY());
		}
	}
	public GraphicsPanel()
	{
		menu.add(exit);
		exit.addActionListener(this);
		setBackground(Color.white);
		setToolTipText("Right-click to exit");
		addMouseListener(new Trigger());
	}
	public Dimension getPreferredSize()
	{
		return new Dimension(270, 270);
	}
	public void paintComponent(Graphics g)
	{
		Font font	=	new Font("Helvetica", Font.BOLD + Font.ITALIC, 14);
		int offset = 200;
		//1
		g.setColor(Color.yellow);
		g.fillOval(10, 10, 210, 210);
		g.setColor(Color.black);
		g.fillArc(40, 40, 150, 150, 180, 180);
		g.setColor(Color.yellow);
		g.fillArc(40, 20, 150, 130, 180, 180);
		g.setColor(Color.black);
		g.fillOval(50, 70, 30, 30);
		g.fillOval(150, 70, 30, 30);
		//2
		g.setColor(Color.blue);
		g.fillOval(10 + offset, 10, 210, 210);
		g.setColor(Color.black);
		g.fillArc(40 + offset, 40, 150, 150, 180, 180);
		g.setColor(Color.yellow);
		g.fillArc(40 + offset, 20, 150, 130, 180, 180);
		g.setColor(Color.black);
		g.fillOval(50 + offset, 70, 30, 30);
		g.fillOval(150 + offset, 70, 30, 30);
		//3
		g.setColor(Color.cyan);
		g.fillOval(10 + 2*offset, 10, 210, 210);
		g.setColor(Color.black);
		g.fillArc(40 + 2*offset, 40, 150, 150, 180, 180);
		g.setColor(Color.yellow);
		g.fillArc(40 + 2*offset, 20, 150, 130, 180, 180);
		g.setColor(Color.black);
		g.fillOval(50 + 2*offset, 70, 30, 30);
		g.fillOval(150 + 2*offset, 70, 30, 30);
		//4
		g.setColor(Color.DARK_GRAY);
		g.fillOval(10 + 3*offset, 10, 210, 210);
		g.setColor(Color.black);
		g.fillArc(40 + 3*offset, 40, 150, 150, 180, 180);
		g.setColor(Color.yellow);
		g.fillArc(40 + 3*offset, 20, 150, 130, 180, 180);
		g.setColor(Color.black);
		g.fillOval(50 + 3*offset, 70, 30, 30);
		g.fillOval(150 + 3*offset, 70, 30, 30);
		//5
		g.setColor(Color.magenta);
		g.fillOval(10 + 4*offset, 10, 210, 210);
		g.setColor(Color.black);
		g.fillArc(40 + 4*offset, 40, 150, 150, 180, 180);
		g.setColor(Color.yellow);
		g.fillArc(40 + 4*offset, 20, 150, 130, 180, 180);
		g.setColor(Color.black);
		g.fillOval(50 + 4*offset, 70, 30, 30);
		g.fillOval(150 + 4*offset, 70, 30, 30);
		
		g.setFont(font);
		g.drawString("Welcome to swing ,", 60, 250);
	}
	public void actionPerformed(ActionEvent ae)
	{
		System.exit(0);
	}
}

⌨️ 快捷键说明

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