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

📄 42.txt

📁 是一个 java 基础学习软件 有设计说明
💻 TXT
字号:
//
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import java.awt.geom.*;
import java.util.*;


// 显示框架,并得到屏幕像素

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

//  define Frame

class EventFrame extends JFrame
{
   public EventFrame()
   {
      setSize(WIDTH, HEIGHT);
      setTitle("动作测试");
   		//  create a panel
   	  EventPanel panel = new EventPanel();
   	 	 // add panel to frame
   	  Container contentPane = getContentPane();
   	  contentPane.add(panel);
   }
   public static final int WIDTH = 400;
   public static final int HEIGHT = 400;
}

//  define panel

class EventPanel extends JPanel
{
	//private String s ;
	public EventPanel()
	{
		// define action
		Action yellowAction = new ColorAction("Yellow",new ImageIcon("1.gif"),Color.yellow);
		Action blueAction = new ColorAction("Blue",new ImageIcon("2.gif"),Color.blue);
		Action redAction = new ColorAction("Red",new ImageIcon("3.gif"),Color.red);
		//add buttons
		add (new JButton(yellowAction));
		add (new JButton(blueAction));
		add (new JButton(redAction));
		// associate the Y,B, and R key with names
		InputMap imap = getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);

		imap.put(KeyStroke.getKeyStroke("ctrl Y"),"panel.yellow");
		imap.put(KeyStroke.getKeyStroke("ctrl B"),"panel.blue");
		imap.put(KeyStroke.getKeyStroke("ctrl R"),"panel.red");

		// associate name with action
		ActionMap amap = getActionMap();
		amap.put("panel.yellow",yellowAction);
		amap.put("panel.blue",blueAction);
		amap.put("panel.red",redAction);
		//
		JButton newButton = new JButton("New Frame");
		add (newButton);
		ActionListener newListener = new ActionListener()
				{
					public void actionPerformed(ActionEvent event)
					{
						makeNewFrame();
					}
				};
		newButton.addActionListener(newListener);

		closeAllButton = new JButton("close All Frames");
		add (closeAllButton);
	}

	private JButton closeAllButton;

	public void makeNewFrame()
	{
		final BlankFrame frame = new BlankFrame();
		frame.show();
		// add action Listener
		ActionListener closeAllListener = new ActionListener()
				{
						public void actionPerformed(ActionEvent event)
							{
								frame.dispose();
							}
				};
		closeAllButton.addActionListener(closeAllListener);
	}

	public class ColorAction extends AbstractAction
	{
		/** Constructs a Color Action
		*///
		public  ColorAction(String name, Icon icon, Color c)
		{
			putValue(Action.NAME,name);
			putValue(Action.SMALL_ICON,icon);
			putValue(Action.SHORT_DESCRIPTION,"set panel color to "+name.toLowerCase());
			putValue("color",c);
		}
		public void actionPerformed(ActionEvent e)
		{
			Color c = (Color)getValue("color");
			setBackground(c);
			repaint();
		}
	}
}
class BlankFrame extends JFrame
{
	public BlankFrame()
	{
		counter++;
		setTitle("Frame "+counter);
		setSize (WIDTH, HEIGHT);
		setLocation(SPACE*counter,SPACE*counter);
	//  create a panel
   	  EventPanel panel = new EventPanel();
   	 	 // add panel to frame
   	  Container contentPane = getContentPane();
   	  contentPane.add(panel);

   }

   public static final int WIDTH = 300;
   public static final int HEIGHT = 300;
   public static final int SPACE = 30;

   private static int counter = 0;

}

⌨️ 快捷键说明

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