下面列出了java.awt.event.KeyEvent#VK_P 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static void reactToReleaseEvent(CEventCallback callback, int vk_event, int modifier) {
switch (vk_event) {
case KeyEvent.VK_CONTROL:
if ((mask & MULTITOUCH.mask) != 0)
callback.endMultiTouch();
break;
case KeyEvent.VK_B:
case KeyEvent.VK_BACK_SPACE:
if ((mask & BACK.mask) != 0)
callback.back();
break;
case KeyEvent.VK_P:
case KeyEvent.VK_SPACE:
if ((mask & PAUSE.mask) != 0)
((DesktopLifecycleBridge) Native.lifecycle()).toggleActivation();
break;
case KeyEvent.VK_ESCAPE:
case KeyEvent.VK_Q:
if ((mask & QUIT.mask) != 0)
callback.powerOff();
break;
case KeyEvent.VK_M:
if (modifier == KeyEvent.CTRL_MASK)
memoryWarning();
break;
case KeyEvent.VK_H:
case KeyEvent.VK_HOME:
if ((mask & HOME.mask) != 0)
callback.home();
break;
case KeyEvent.VK_LEFT:
if ((mask & ROTATE.mask) != 0)
callback.rotateLeft();
break;
case KeyEvent.VK_RIGHT:
if ((mask & ROTATE.mask) != 0)
callback.rotateRight();
break;
}
}
public boolean postProcessKeyEvent( final KeyEvent e ) {
if ( e.getID() == KeyEvent.KEY_PRESSED ) {
final int menuKeyMask = getMenuKeyMask();
if ( e.getKeyCode() == KeyEvent.VK_P &&
( e.getModifiers() & menuKeyMask ) == menuKeyMask ) {
saveScreenShot( e.getModifiers() );
return true;
}
}
return false;
}
/** Construct a plot frame with the specified title and the specified
* instance of PlotBox. After constructing this, it is necessary
* to call setVisible(true) to make the plot appear.
* @param title The title to put on the window.
* @param plotArg the plot object to put in the frame, or null to create
* an instance of Plot.
*/
public PlotFrame(String title, PlotBox plotArg) {
super(title);
if (plotArg == null) {
plot = new Plot();
} else {
plot = plotArg;
}
// Background color is a light grey.
plot.setBackground(new Color(0xe5e5e5));
_fileMenu.setMnemonic(KeyEvent.VK_F);
_editMenu.setMnemonic(KeyEvent.VK_E);
_specialMenu.setMnemonic(KeyEvent.VK_S);
// File menu
JMenuItem[] fileMenuItems = {
new JMenuItem("Open", KeyEvent.VK_O),
new JMenuItem("Save", KeyEvent.VK_S),
new JMenuItem("Save as....", KeyEvent.VK_A),
new JMenuItem("Export", KeyEvent.VK_E),
new JMenuItem("Print", KeyEvent.VK_P),
new JMenuItem("Close", KeyEvent.VK_C),
};
// Open button = ctrl-o.
fileMenuItems[0].setAccelerator(
KeyStroke.getKeyStroke(KeyEvent.VK_O, Event.CTRL_MASK));
// Save button = ctrl-s.
fileMenuItems[1].setAccelerator(
KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK));
// Print button = ctrl-p.
fileMenuItems[4].setAccelerator(
KeyStroke.getKeyStroke(KeyEvent.VK_P, Event.CTRL_MASK));
// Close button = ctrl-w.
fileMenuItems[5].setAccelerator(
KeyStroke.getKeyStroke(KeyEvent.VK_W, Event.CTRL_MASK));
FileMenuListener fml = new FileMenuListener();
// Set the action command and listener for each menu item.
for (int i = 0; i < fileMenuItems.length; i++) {
fileMenuItems[i].setActionCommand(fileMenuItems[i].getText());
fileMenuItems[i].addActionListener(fml);
_fileMenu.add(fileMenuItems[i]);
}
_menubar.add(_fileMenu);
// Edit menu
JMenuItem format = new JMenuItem("Format", KeyEvent.VK_F);
FormatListener formatListener = new FormatListener();
format.addActionListener(formatListener);
_editMenu.add(format);
_menubar.add(_editMenu);
// Special menu
JMenuItem[] specialMenuItems = {
new JMenuItem("About", KeyEvent.VK_A),
new JMenuItem("Help", KeyEvent.VK_H),
new JMenuItem("Clear", KeyEvent.VK_C),
new JMenuItem("Fill", KeyEvent.VK_F),
new JMenuItem("Reset axes", KeyEvent.VK_R),
new JMenuItem("Sample plot", KeyEvent.VK_S),
};
SpecialMenuListener sml = new SpecialMenuListener();
// Set the action command and listener for each menu item.
for (int i = 0; i < specialMenuItems.length; i++) {
specialMenuItems[i].setActionCommand(
specialMenuItems[i].getText());
specialMenuItems[i].addActionListener(sml);
_specialMenu.add(specialMenuItems[i]);
}
_menubar.add(_specialMenu);
setJMenuBar(_menubar);
getContentPane().add(plot, BorderLayout.CENTER);
// FIXME: This should not be hardwired in here.
setSize(500, 300);
// Center.
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = getSize();
int x = (screenSize.width - frameSize.width) / 2;
int y = (screenSize.height - frameSize.height) / 2;
setLocation(x, y);
}
/**
* Construct a plot frame with the specified title and the specified
* instance of PlotBox. After constructing this, it is necessary to call
* setVisible(true) to make the plot appear.
*
* @param title
* The title to put on the window.
* @param plotArg
* the plot object to put in the frame, or null to create an
* instance of Plot.
*/
public PlotFrame(String title, PlotBox plotArg) {
super(title);
// The Java look & feel is pretty lame, so we use the native
// look and feel of the platform we are running on.
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
// Ignore exceptions, which only result in the wrong look and feel.
}
if (plotArg == null) {
plot = new Plot();
} else {
plot = plotArg;
}
// Background color is a light grey.
plot.setBackground(new Color(0xe5e5e5));
_fileMenu.setMnemonic(KeyEvent.VK_F);
_editMenu.setMnemonic(KeyEvent.VK_E);
_specialMenu.setMnemonic(KeyEvent.VK_S);
// File menu
JMenuItem[] fileMenuItems = { new JMenuItem("Open", KeyEvent.VK_O), new JMenuItem("Save", KeyEvent.VK_S),
new JMenuItem("SaveAs", KeyEvent.VK_A), new JMenuItem("Export", KeyEvent.VK_E),
new JMenuItem("Print", KeyEvent.VK_P), new JMenuItem("Close", KeyEvent.VK_C), };
// Open button = ctrl-o.
fileMenuItems[0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, Event.CTRL_MASK));
// Save button = ctrl-s.
fileMenuItems[1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK));
// Print button = ctrl-p.
fileMenuItems[4].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, Event.CTRL_MASK));
// Close button = ctrl-w.
fileMenuItems[5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W, Event.CTRL_MASK));
FileMenuListener fml = new FileMenuListener();
// Set the action command and listener for each menu item.
for (int i = 0; i < fileMenuItems.length; i++) {
fileMenuItems[i].setActionCommand(fileMenuItems[i].getText());
fileMenuItems[i].addActionListener(fml);
_fileMenu.add(fileMenuItems[i]);
}
_menubar.add(_fileMenu);
// Edit menu
JMenuItem format = new JMenuItem("Format", KeyEvent.VK_F);
FormatListener formatListener = new FormatListener();
format.addActionListener(formatListener);
_editMenu.add(format);
_menubar.add(_editMenu);
// Special menu
JMenuItem[] specialMenuItems = { new JMenuItem("About", KeyEvent.VK_A), new JMenuItem("Help", KeyEvent.VK_H),
new JMenuItem("Clear", KeyEvent.VK_C), new JMenuItem("Fill", KeyEvent.VK_F),
new JMenuItem("Reset axes", KeyEvent.VK_R), new JMenuItem("Sample plot", KeyEvent.VK_S), };
SpecialMenuListener sml = new SpecialMenuListener();
// Set the action command and listener for each menu item.
for (int i = 0; i < specialMenuItems.length; i++) {
specialMenuItems[i].setActionCommand(specialMenuItems[i].getText());
specialMenuItems[i].addActionListener(sml);
_specialMenu.add(specialMenuItems[i]);
}
_menubar.add(_specialMenu);
setJMenuBar(_menubar);
getContentPane().add(plot, BorderLayout.CENTER);
// FIXME: This should not be hardwired in here.
setSize(500, 300);
// Center.
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = getSize();
int x = (screenSize.width - frameSize.width) / 2;
int y = (screenSize.height - frameSize.height) / 2;
setLocation(x, y);
}
public FindPreviousAction() {
super("Prev.");
super.putValue(SHORT_DESCRIPTION, "Finds the previous occurrence.");
super.putValue(MNEMONIC_KEY, KeyEvent.VK_P);
}
private PrintCommand() {
super(I18n.Text("Print…"), CMD_PRINT, KeyEvent.VK_P);
}
private PageSetupCommand() {
super(I18n.Text("Page Setup…"), CMD_PAGE_SETUP, KeyEvent.VK_P, SHIFTED_COMMAND_MODIFIER);
}
/**
* 将字符型转换为按键码,可直接使用 {@link #press(int)}调用
* @param key 字符型文字,包含 0~9 a~z .
* @return 按键码
*/
public int StringToKey(String key){
switch (key) {
case "a":
return KeyEvent.VK_A;
case "b":
return KeyEvent.VK_B;
case "c":
return KeyEvent.VK_C;
case "d":
return KeyEvent.VK_D;
case "e":
return KeyEvent.VK_E;
case "f":
return KeyEvent.VK_F;
case "g":
return KeyEvent.VK_G;
case "h":
return KeyEvent.VK_H;
case "i":
return KeyEvent.VK_I;
case "j":
return KeyEvent.VK_J;
case "k":
return KeyEvent.VK_K;
case "l":
return KeyEvent.VK_L;
case "m":
return KeyEvent.VK_M;
case "n":
return KeyEvent.VK_N;
case "o":
return KeyEvent.VK_O;
case "p":
return KeyEvent.VK_P;
case "q":
return KeyEvent.VK_Q;
case "r":
return KeyEvent.VK_R;
case "s":
return KeyEvent.VK_S;
case "t":
return KeyEvent.VK_T;
case "u":
return KeyEvent.VK_U;
case "v":
return KeyEvent.VK_V;
case "w":
return KeyEvent.VK_W;
case "x":
return KeyEvent.VK_X;
case "y":
return KeyEvent.VK_Y;
case "z":
return KeyEvent.VK_Z;
case "0":
return KeyEvent.VK_0;
case "1":
return KeyEvent.VK_1;
case "2":
return KeyEvent.VK_2;
case "3":
return KeyEvent.VK_3;
case "4":
return KeyEvent.VK_4;
case "5":
return KeyEvent.VK_5;
case "6":
return KeyEvent.VK_6;
case "7":
return KeyEvent.VK_7;
case "8":
return KeyEvent.VK_8;
case "9":
return KeyEvent.VK_9;
case ".":
return KeyEvent.VK_PERIOD;
default:
break;
}
return 0;
}
private static String getLowerCaseAlphaChar(int code) {
switch (code) {
case KeyEvent.VK_Q:
return "q";
case KeyEvent.VK_W:
return "w";
case KeyEvent.VK_E:
return "e";
case KeyEvent.VK_R:
return "r";
case KeyEvent.VK_T:
return "t";
case KeyEvent.VK_Y:
return "y";
case KeyEvent.VK_U:
return "u";
case KeyEvent.VK_I:
return "i";
case KeyEvent.VK_O:
return "o";
case KeyEvent.VK_P:
return "p";
case KeyEvent.VK_A:
return "a";
case KeyEvent.VK_S:
return "s";
case KeyEvent.VK_D:
return "d";
case KeyEvent.VK_F:
return "f";
case KeyEvent.VK_G:
return "g";
case KeyEvent.VK_H:
return "h";
case KeyEvent.VK_J:
return "j";
case KeyEvent.VK_K:
return "k";
case KeyEvent.VK_L:
return "l";
case KeyEvent.VK_Z:
return "z";
case KeyEvent.VK_X:
return "x";
case KeyEvent.VK_C:
return "c";
case KeyEvent.VK_V:
return "v";
case KeyEvent.VK_B:
return "b";
case KeyEvent.VK_N:
return "n";
case KeyEvent.VK_M:
return "m";
default:
return "";
}
}
private static String getUpperCaseAlphaChar(int code) {
switch (code) {
case KeyEvent.VK_Q:
return "Q";
case KeyEvent.VK_W:
return "W";
case KeyEvent.VK_E:
return "E";
case KeyEvent.VK_R:
return "R";
case KeyEvent.VK_T:
return "T";
case KeyEvent.VK_Y:
return "Y";
case KeyEvent.VK_U:
return "U";
case KeyEvent.VK_I:
return "I";
case KeyEvent.VK_O:
return "O";
case KeyEvent.VK_P:
return "P";
case KeyEvent.VK_A:
return "A";
case KeyEvent.VK_S:
return "S";
case KeyEvent.VK_D:
return "D";
case KeyEvent.VK_F:
return "F";
case KeyEvent.VK_G:
return "G";
case KeyEvent.VK_H:
return "H";
case KeyEvent.VK_J:
return "J";
case KeyEvent.VK_K:
return "K";
case KeyEvent.VK_L:
return "L";
case KeyEvent.VK_Z:
return "Z";
case KeyEvent.VK_X:
return "X";
case KeyEvent.VK_C:
return "C";
case KeyEvent.VK_V:
return "V";
case KeyEvent.VK_B:
return "B";
case KeyEvent.VK_N:
return "N";
case KeyEvent.VK_M:
return "M";
default:
return "";
}
}
@Override
public void keyPressed(KeyEvent e) {
RealTimeGameData data = gameContext.getRealTimeGameData();
if (Boolean.TRUE.equals(data.getMapMakingFlag()) && e.getKeyCode() == KeyEvent.VK_C) {
if (data.getCurrentStuff() == StuffTypeEnum.BRICK) {
data.setCurrentStuff(StuffTypeEnum.IRON);
} else if (data.getCurrentStuff() == StuffTypeEnum.IRON) {
data.setCurrentStuff(StuffTypeEnum.WATER);
} else if (data.getCurrentStuff() == StuffTypeEnum.WATER) {
data.setCurrentStuff(StuffTypeEnum.INVALID);
} else {
data.setCurrentStuff(StuffTypeEnum.BRICK);
}
}
if (e.getKeyCode() == KeyEvent.VK_P) { // 暂停
gameEventService.gameEventStop(data);
}
data.getMyTanks().forEach(myTank -> {
if (!myTank.getLive()) {
data.keyPressedDirect(false, false, false, false);
} else {
if ((e.getKeyCode() == KeyEvent.VK_UP)) {
myTank.setDirect(DirectionEnum.NORTH);
data.keyPressedDirect(true, false, false, false);
} else if ((e.getKeyCode() == KeyEvent.VK_DOWN) && myTank.getY() <= 580) {
myTank.setDirect(DirectionEnum.SOUTH);
data.keyPressedDirect(false, true, false, false);
} else if ((e.getKeyCode() == KeyEvent.VK_LEFT) && myTank.getY() <= 580) {
myTank.setDirect(DirectionEnum.WEST);
data.keyPressedDirect(false, false, true, false);
} else if ((e.getKeyCode() == KeyEvent.VK_RIGHT) && myTank.getY() <= 580) {
myTank.setDirect(DirectionEnum.EAST);
data.keyPressedDirect(false, false, false, true);
}
if (e.getKeyCode() == KeyEvent.VK_X && myTank.getY() <= 580) {
if (myTank.getBullets().size() <= 1 && data.getMyBulletNum() > 0) {
data.setMyBulletNum(data.getMyBulletNum() - 1);
gameEventService.shot(myTank);
}
}
}
});
}
@Override
public void keyPressed(KeyEvent arg0) {
switch(arg0.getKeyCode()) {
case KeyEvent.VK_RIGHT :
goRight(1, false);
break;
case KeyEvent.VK_LEFT :
goLeft(1, false);
break;
case KeyEvent.VK_UP :
goRight(1, true);
break;
case KeyEvent.VK_DOWN :
goLeft(1, true);
break;
case KeyEvent.VK_PAGE_UP :
goRight(10, false);
break;
case KeyEvent.VK_PAGE_DOWN :
goLeft(10, false);
break;
case KeyEvent.VK_D :
goRight(3, true);
break;
case KeyEvent.VK_A :
goLeft(3, true);
break;
case KeyEvent.VK_W :
goRight(5, true);
break;
case KeyEvent.VK_S :
goLeft(5, true);
break;
// O: Go right one step + take screenshot, loops around
case KeyEvent.VK_O :
if (goRight(1, false))
takeSnapShot();
break;
// P: Go right one step + take screenshot, stop at end
case KeyEvent.VK_P :
if (goRight(1, true))
takeSnapShot();
break;
// L: Go right multiple steps + take screenshot, stop at end
case KeyEvent.VK_L :
if (goRight(13, true))
takeSnapShot();
break;
// Esc: Close Window
case KeyEvent.VK_ESCAPE :
System.exit(0);
break;
}
}
/**
* Build the application menu bar.
*/
private void buildMenuBar() {
// Build the File menu.
//
//
JMenu fileMenu = new JMenu("File");
fileMenu.setMnemonic(KeyEvent.VK_F);
fileMenu.getAccessibleContext().setAccessibleDescription("The file menu");
// Open file item
JMenuItem openFileItem = new JMenuItem("Select", KeyEvent.VK_O);
openFileItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
openFileItem.getAccessibleContext().setAccessibleDescription("Open a data file");
openFileItem.setActionCommand(SELECT_FILE);
openFileItem.addActionListener(this);
fileMenu.add(openFileItem);
// add a separator
fileMenu.addSeparator();
// an exit item
JMenuItem exitItem = new JMenuItem("Exit", KeyEvent.VK_X);
exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));
exitItem.getAccessibleContext().setAccessibleDescription("Exit from here");
exitItem.addActionListener(this);
fileMenu.add(exitItem);
// Build the Options menu.
//
//
JMenu settingsMenu = new JMenu("Settings");
settingsMenu.setMnemonic(KeyEvent.VK_S);
settingsMenu.getAccessibleContext().setAccessibleDescription("Settings menu");
// an exit item
JMenuItem optionsItem = new JMenuItem("GrammarViz options", KeyEvent.VK_P);
optionsItem.setActionCommand(OPTIONS_MENU_ITEM);
optionsItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.CTRL_MASK));
optionsItem.getAccessibleContext().setAccessibleDescription("Options");
optionsItem.addActionListener(this);
settingsMenu.add(optionsItem);
// Build the About menu.
JMenu helpMenu = new JMenu("Help");
helpMenu.setMnemonic(KeyEvent.VK_F1);
helpMenu.getAccessibleContext().setAccessibleDescription("Help & About");
// a help item
JMenuItem helpItem = new JMenuItem("Help", KeyEvent.VK_H);
helpItem.getAccessibleContext().setAccessibleDescription("Get some help here.");
exitItem.addActionListener(controller);
helpMenu.add(helpItem);
// an about item
JMenuItem aboutItem = new JMenuItem("About", KeyEvent.VK_A);
aboutItem.getAccessibleContext().setAccessibleDescription("About the app.");
aboutItem.setActionCommand(ABOUT_MENU_ITEM);
aboutItem.addActionListener(this);
helpMenu.add(aboutItem);
// make sure that controller is connected with Exit item
//
exitItem.addActionListener(controller);
menuBar.add(fileMenu);
menuBar.add(settingsMenu);
menuBar.add(helpMenu);
}
@Override
public void keyPressed(final KeyEvent ke) {
final int key = ke.getKeyCode();
final Object source = ke.getSource();
final boolean meta = (ke.getModifiers() & Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()) != 0;
final boolean metaShift = meta && ke.isShiftDown();
// Close if Esc, Ctrl+W or Cmd+W
if (key == KeyEvent.VK_ESCAPE || (key == KeyEvent.VK_W && meta)) {
quit();
// Trigger Menu accelerators
} else if (metaShift) {
if (key == KeyEvent.VK_C) // Enter/Exit Console
toggleConsoleMode();
else if (key == KeyEvent.VK_G) // Go To...
changeDirectory("");
else if (!isConsoleMode() && key == KeyEvent.VK_R) // Reveal Path
Utils.revealFile(path);
} else if (meta) {
if (key == KeyEvent.VK_L) {
prompt.requestFocusInWindow();
prompt.selectAll();
} else if (key == KeyEvent.VK_B) {
activateTable();
} else if (key == KeyEvent.VK_COMMA) {
showOptionsDialog();
} else if (key == KeyEvent.VK_S) {
saveQuery();
} else if (!isConsoleMode() && key == KeyEvent.VK_D) {
addBookmark();
} else if (!isConsoleMode() && key == KeyEvent.VK_P) {
printList();
} else if (!isConsoleMode() && key == KeyEvent.VK_R) {
resetFileList("Contents reloaded...");
}
} else if (source == prompt) {
// Up or down arrows pressed in prompt: Move the focus to list
if (key == KeyEvent.VK_UP || key == KeyEvent.VK_DOWN) {
activateTable();
}
} else if (source == table) {
// Focus in list and left arrow key: move up in directory hierarchy
if (key == KeyEvent.VK_LEFT) {
selectParentDirectory(path);
setSelectedItem(table.getSelectedRow());
// Focus in list and right arrow key: List sub-directory
} else if (key == KeyEvent.VK_RIGHT) {
setSelectedItem(table.getSelectedRow());
if (isFolder(selectedItem))
selectSubDirectory(selectedItem);
// Focus in list and enter: Open selected item
} else if (key == KeyEvent.VK_ENTER) {
ke.consume();
setSelectedItem(table.getSelectedRow());
openItem(selectedItem);
// Focus in list and backspace: Switch focus back to prompt
} else if (key == KeyEvent.VK_BACK_SPACE) {
prompt.requestFocusInWindow();
prompt.selectAll();
// Focus in list and up/down arrow key: Loop through list
} else if (key == KeyEvent.VK_UP) {
if (table.getSelectedRow() == 0)
table.setRowSelectionInterval(tableModel.getRowCount() - 1, tableModel.getRowCount() - 1);
} else if (key == KeyEvent.VK_DOWN) {
if (table.getSelectedRow() == tableModel.getRowCount() - 1)
table.setRowSelectionInterval(0, 0);
}
}
}
public PlaceAction(PipeApplicationModel applicationModel) {
super("Place", "Add a place", KeyEvent.VK_P, InputEvent.ALT_DOWN_MASK, applicationModel);
}
public PrintAction() {
super("Print", "Print", KeyEvent.VK_P, InputEvent.META_DOWN_MASK);
}
public LayoutAction(PipeApplicationController pipeApplicationController, PipeApplicationView applicationView) {
super("Layout", "Layout", KeyEvent.VK_P, InputEvent.ALT_DOWN_MASK);
this.pipeApplicationController = pipeApplicationController;
this.applicationView = applicationView;
}