📄 42.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 + -