use of java.awt.event.ActionEvent in project intellij-community by JetBrains.
the class MavenSelectProjectPopup method attachToButton.
public static void attachToButton(@NotNull final MavenProjectsManager projectsManager, @NotNull final JButton button, @NotNull final Consumer<MavenProject> callback) {
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
List<MavenProject> projectList = projectsManager.getProjects();
if (projectList.isEmpty()) {
JBPopupFactory.getInstance().createMessage("Maven projects not found").showUnderneathOf(button);
return;
}
DefaultMutableTreeNode root = buildTree(projectList);
final Map<MavenProject, String> projectsNameMap = MavenProjectNamer.generateNameMap(projectList);
final Tree projectTree = new Tree(root);
projectTree.setRootVisible(false);
projectTree.setCellRenderer(new NodeRenderer() {
@Override
public void customizeCellRenderer(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
if (value instanceof DefaultMutableTreeNode) {
MavenProject mavenProject = (MavenProject) ((DefaultMutableTreeNode) value).getUserObject();
value = projectsNameMap.get(mavenProject);
setIcon(MavenIcons.MavenProject);
}
super.customizeCellRenderer(tree, value, selected, expanded, leaf, row, hasFocus);
}
});
new TreeSpeedSearch(projectTree, new Convertor<TreePath, String>() {
@Override
public String convert(TreePath o) {
Object lastPathComponent = o.getLastPathComponent();
if (!(lastPathComponent instanceof DefaultMutableTreeNode))
return null;
Object userObject = ((DefaultMutableTreeNode) lastPathComponent).getUserObject();
//noinspection SuspiciousMethodCalls
return projectsNameMap.get(userObject);
}
});
final Ref<JBPopup> popupRef = new Ref<>();
final Runnable clickCallBack = () -> {
TreePath path = projectTree.getSelectionPath();
if (path == null)
return;
Object lastPathComponent = path.getLastPathComponent();
if (!(lastPathComponent instanceof DefaultMutableTreeNode))
return;
Object object = ((DefaultMutableTreeNode) lastPathComponent).getUserObject();
// may be it's the root
if (object == null)
return;
callback.consume((MavenProject) object);
popupRef.get().closeOk(null);
};
projectTree.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
clickCallBack.run();
e.consume();
}
}
});
JBPopup popup = new PopupChooserBuilder(projectTree).setTitle("Select maven project").setResizable(true).setItemChoosenCallback(clickCallBack).setAutoselectOnMouseMove(true).setCloseOnEnter(false).createPopup();
popupRef.set(popup);
popup.showUnderneathOf(button);
}
private DefaultMutableTreeNode buildTree(List<MavenProject> projectList) {
MavenProject[] projects = projectList.toArray(new MavenProject[projectList.size()]);
Arrays.sort(projects, new MavenProjectNamer.MavenProjectComparator());
Map<MavenProject, DefaultMutableTreeNode> projectsToNode = new HashMap<>();
for (MavenProject mavenProject : projects) {
projectsToNode.put(mavenProject, new DefaultMutableTreeNode(mavenProject));
}
DefaultMutableTreeNode root = new DefaultMutableTreeNode();
for (MavenProject mavenProject : projects) {
DefaultMutableTreeNode parent;
MavenProject aggregator = projectsManager.findAggregator(mavenProject);
if (aggregator != null) {
parent = projectsToNode.get(aggregator);
} else {
parent = root;
}
parent.add(projectsToNode.get(mavenProject));
}
return root;
}
});
}
use of java.awt.event.ActionEvent in project voltdb by VoltDB.
the class DatabaseManagerSwing method main.
public void main() {
JMenu jmenu;
JMenuItem mitem;
try {
prefs = new DBMPrefs(fMain instanceof JApplet);
} catch (Exception e) {
System.err.println("Failed to load preferences. Proceeding with defaults:\n");
}
if (prefs == null) {
setLF(CommonSwing.Native);
} else {
autoRefresh = prefs.autoRefresh;
displayRowCounts = prefs.showRowCounts;
showSys = prefs.showSysTables;
showSchemas = prefs.showSchemas;
gridFormat = prefs.resultGrid;
showTooltips = prefs.showTooltips;
setLF(prefs.laf);
}
// (ulrivo): An actual icon. N.b., this adds some tips to the tip map
fMain.getContentPane().add(createToolBar(), "North");
if (fMain instanceof java.awt.Frame) {
((java.awt.Frame) fMain).setIconImage(CommonSwing.getIcon("Frame"));
}
if (fMain instanceof java.awt.Window) {
((java.awt.Window) fMain).addWindowListener(this);
}
JMenuBar bar = new JMenuBar();
// used shortcuts: CERGTSIUDOLM
String[] fitems = { "-Connect...", "--", "OOpen Script...", "-Save Script...", "-Save Result...", "--", "-Exit" };
jmenu = addMenu(bar, "File", fitems);
// All actions after Connect and the divider are local.
for (int i = 2; i < jmenu.getItemCount(); i++) {
mitem = jmenu.getItem(i);
if (mitem != null) {
localActionList.add(mitem);
}
}
Object[] vitems = { "RRefresh Tree", boxAutoRefresh, "--", boxRowCounts, boxShowSys, boxShowSchemas, boxShowGrid };
addMenu(bar, "View", vitems);
String[] sitems = { "SSELECT", "IINSERT", "UUPDATE", "DDELETE", "EEXECUTE", "---", "-CREATE TABLE", "-DROP TABLE", "-CREATE INDEX", "-DROP INDEX", "--", "CCOMMIT*", "LROLLBACK*", "-CHECKPOINT*", "-SCRIPT", "-SET", "-SHUTDOWN", "--", "-Test Script" };
addMenu(bar, "Command", sitems);
mRecent = new JMenu("Recent");
mRecent.setMnemonic(KeyEvent.VK_R);
bar.add(mRecent);
ButtonGroup lfGroup = new ButtonGroup();
lfGroup.add(rbNativeLF);
lfGroup.add(rbJavaLF);
lfGroup.add(rbMotifLF);
boxShowSchemas.setSelected(showSchemas);
boxShowGrid.setSelected(gridFormat);
boxTooltips.setSelected(showTooltips);
boxShowGrid.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G, Event.CTRL_MASK));
boxAutoRefresh.setSelected(autoRefresh);
boxRowCounts.setSelected(displayRowCounts);
boxShowSys.setSelected(showSys);
rbNativeLF.setActionCommand("LFMODE:" + CommonSwing.Native);
rbJavaLF.setActionCommand("LFMODE:" + CommonSwing.Java);
rbMotifLF.setActionCommand("LFMODE:" + CommonSwing.Motif);
tipMap.put(mitemUpdateSchemas, "Refresh the schema list in this menu");
tipMap.put(rbAllSchemas, "Display items in all schemas");
tipMap.put(mitemAbout, "Display product information");
tipMap.put(mitemHelp, "Display advice for obtaining help");
tipMap.put(boxAutoRefresh, "Refresh tree (and schema list) automatically" + "when YOU modify database objects");
tipMap.put(boxShowSchemas, "Display object names in tree like schemaname.basename");
tipMap.put(rbNativeLF, "Set Look and Feel to Native for your platform");
tipMap.put(rbJavaLF, "Set Look and Feel to Java");
tipMap.put(rbMotifLF, "Set Look and Feel to Motif");
boxTooltips.setToolTipText("Display tooltips (hover text), like this");
tipMap.put(boxAutoCommit, "Shows current Auto-commit mode. Click to change");
tipMap.put(boxLogging, "Shows current JDBC DriverManager logging mode. Click to change");
tipMap.put(boxShowSys, "Show system tables in table tree to the left");
tipMap.put(boxShowGrid, "Show query results in grid (in text if off)");
tipMap.put(boxRowCounts, "Show row counts with table names in tree");
boxAutoRefresh.setMnemonic(KeyEvent.VK_C);
boxShowSchemas.setMnemonic(KeyEvent.VK_Y);
boxAutoCommit.setMnemonic(KeyEvent.VK_A);
boxShowSys.setMnemonic(KeyEvent.VK_Y);
boxShowGrid.setMnemonic(KeyEvent.VK_G);
boxRowCounts.setMnemonic(KeyEvent.VK_C);
boxLogging.setMnemonic(KeyEvent.VK_L);
rbAllSchemas.setMnemonic(KeyEvent.VK_ASTERISK);
rbNativeLF.setMnemonic(KeyEvent.VK_N);
rbJavaLF.setMnemonic(KeyEvent.VK_J);
rbMotifLF.setMnemonic(KeyEvent.VK_M);
mitemUpdateSchemas.setMnemonic(KeyEvent.VK_U);
Object[] soptions = { // Added: (weconsultants@users) New menu options
rbNativeLF, rbJavaLF, rbMotifLF, "--", "-Set Fonts", "--", boxAutoCommit, "--", "-Disable MaxRows", "-Set MaxRows to 100", "--", boxLogging, "--", "-Insert test data" };
addMenu(bar, "Options", soptions);
String[] stools = { "-Dump", "-Restore", "-Transfer" };
jmenu = addMenu(bar, "Tools", stools);
jmenu.setEnabled(TT_AVAILABLE);
localActionList.add(jmenu);
for (int i = 0; i < jmenu.getItemCount(); i++) {
mitem = jmenu.getItem(i);
if (mitem != null) {
localActionList.add(mitem);
}
}
mnuSchemas.setMnemonic(KeyEvent.VK_S);
bar.add(mnuSchemas);
JMenu mnuHelp = new JMenu("Help");
mnuHelp.setMnemonic(KeyEvent.VK_H);
mnuHelp.add(mitemAbout);
mnuHelp.add(mitemHelp);
mnuHelp.add(boxTooltips);
rbAllSchemas.addActionListener(schemaListListener);
// May be illegal:
mitemUpdateSchemas.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionevent) {
updateSchemaList();
}
});
mitemHelp.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionevent) {
JOptionPane.showMessageDialog(fMain.getContentPane(), HELP_TEXT, "HELP", JOptionPane.INFORMATION_MESSAGE);
}
});
mitemAbout.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionevent) {
JOptionPane.showMessageDialog(fMain.getContentPane(), ABOUT_TEXT, "About", JOptionPane.INFORMATION_MESSAGE);
}
});
boxTooltips.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionevent) {
showTooltips = boxTooltips.isSelected();
resetTooltips();
}
});
bar.add(mnuHelp);
if (fMain instanceof JApplet) {
((JApplet) fMain).setJMenuBar(bar);
} else if (fMain instanceof JFrame) {
((JFrame) fMain).setJMenuBar(bar);
}
initGUI();
sRecent = new String[iMaxRecent];
// Modified: (weconsultants@users)Mode code to CommonSwing for general use
if (!(fMain instanceof JApplet)) {
CommonSwing.setFramePositon((JFrame) fMain);
}
// Modified: (weconsultants@users) Changed from deprecated show()
((Component) fMain).setVisible(true);
// (ulrivo): load query from command line
if (defScript != null) {
if (defDirectory != null) {
defScript = defDirectory + File.separator + defScript;
}
// if insert stmet is thousands of records...skip showing it
// as text. Too huge.
sqlScriptBuffer = DatabaseManagerCommon.readFile(defScript);
if (4096 <= sqlScriptBuffer.length()) {
int eoThirdLine = sqlScriptBuffer.indexOf('\n');
if (eoThirdLine > 0) {
eoThirdLine = sqlScriptBuffer.indexOf('\n', eoThirdLine + 1);
}
if (eoThirdLine > 0) {
eoThirdLine = sqlScriptBuffer.indexOf('\n', eoThirdLine + 1);
}
if (eoThirdLine < 1) {
eoThirdLine = 100;
}
txtCommand.setText("............... Script File loaded: " + defScript + " ..................... \n" + "............... Click Execute or Clear " + "...................\n" + sqlScriptBuffer.substring(0, eoThirdLine + 1) + "..........................................." + "..............................\n" + "............................................." + "............................\n");
txtCommand.setEnabled(false);
} else {
txtCommand.setText(sqlScriptBuffer);
sqlScriptBuffer = null;
txtCommand.setEnabled(true);
}
}
// This must be done AFTER all tip texts are put into the map
resetTooltips();
txtCommand.requestFocus();
}
use of java.awt.event.ActionEvent in project voltdb by VoltDB.
the class FontDialogSwing method creatFontDialog.
/**
* Create and display FontDialogSwing Dialog.
*
*/
public static void creatFontDialog(DatabaseManagerSwing owner) {
if (isRunning) {
frame.setVisible(true);
} else {
CommonSwing.setSwingLAF(frame, CommonSwing.Native);
fOwner = owner;
frame.setIconImage(CommonSwing.getIcon("Frame"));
isRunning = true;
frame.setSize(600, 100);
CommonSwing.setFramePositon(frame);
ckbitalic = new JCheckBox(new ImageIcon(CommonSwing.getIcon("ItalicFont")));
ckbitalic.putClientProperty("is3DEnabled", Boolean.TRUE);
ckbitalic.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setStyle();
}
});
ckbbold = new JCheckBox(new ImageIcon(CommonSwing.getIcon("BoldFont")));
ckbbold.putClientProperty("is3DEnabled", Boolean.TRUE);
ckbbold.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setStyle();
}
});
fgColorButton = new JButton("Foreground", new ImageIcon(CommonSwing.getIcon("ColorSelection")));
fgColorButton.putClientProperty("is3DEnabled", Boolean.TRUE);
fgColorButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setColor(FOREGROUND);
}
});
bgColorButton = new JButton("Background", new ImageIcon(CommonSwing.getIcon("ColorSelection")));
bgColorButton.putClientProperty("is3DEnabled", Boolean.TRUE);
bgColorButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setColor(BACKGROUND);
}
});
closeButton = new JButton("Close", new ImageIcon(CommonSwing.getIcon("Close")));
closeButton.putClientProperty("is3DEnabled", Boolean.TRUE);
closeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.setVisible(false);
}
});
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] fontNames = ge.getAvailableFontFamilyNames();
Dimension fontsComboBoxDimension = new Dimension(160, 25);
fontsComboBox = new JComboBox(fontNames);
fontsComboBox.putClientProperty("is3DEnabled", Boolean.TRUE);
fontsComboBox.setMaximumSize(fontsComboBoxDimension);
fontsComboBox.setPreferredSize(fontsComboBoxDimension);
fontsComboBox.setMaximumSize(fontsComboBoxDimension);
fontsComboBox.setEditable(false);
fontsComboBox.setSelectedItem(defaultFont);
fontsComboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setFont();
}
});
// weconsultants@users 20050215 - Added for Compatbilty fix for JDK 1.3
fontSizesComboBox = new JComboBox(fontSizes);
Dimension spinnerDimension = new Dimension(45, 25);
fontSizesComboBox.putClientProperty("is3DEnabled", Boolean.TRUE);
fontSizesComboBox.setMinimumSize(spinnerDimension);
fontSizesComboBox.setPreferredSize(spinnerDimension);
fontSizesComboBox.setMaximumSize(spinnerDimension);
fontSizesComboBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.SELECTED) {
setFontSize((String) evt.getItem());
}
}
});
// weconsultants@users 20050215 - Commented out for Compatbilty fix for JDK 1.3
// Dimension spinnerDimension = new Dimension(50, 25);
// spinnerFontSizes = new JSpinner();
// spinnerFontSizes.putClientProperty("is3DEnabled", Boolean.TRUE);
// spinnerFontSizes.setMinimumSize(spinnerDimension);
// spinnerFontSizes.setPreferredSize(spinnerDimension);
// spinnerFontSizes.setMaximumSize(spinnerDimension);
// spinnerModelSizes = new SpinnerNumberModel(12, 8, 72, 1);
// spinnerFontSizes.setModel(spinnerModelSizes);
// spinnerFontSizes.addChangeListener(new ChangeListener() {
// public void stateChanged(ChangeEvent e) {
// setFontSize();
// }
// });
Container contentPane = frame.getContentPane();
contentPane.setLayout(new FlowLayout());
contentPane.add(fontsComboBox);
// weconsultants@users 20050215 - Commented out for Compatbilty fix for 1.3
// contentPane.add(spinnerFontSizes);
// weconsultants@users 20050215 - Added for Compatbilty fix for 1.3
contentPane.add(fontSizesComboBox);
contentPane.add(ckbbold);
contentPane.add(ckbitalic);
contentPane.add(fgColorButton);
contentPane.add(bgColorButton);
contentPane.add(closeButton);
frame.pack();
frame.setVisible(false);
}
}
use of java.awt.event.ActionEvent in project voltdb by VoltDB.
the class DatabaseManagerSwing method createToolBar.
protected JToolBar createToolBar() {
// Build jtoolbar and jtoolbar Buttons
JToolBar jtoolbar = new JToolBar();
jtoolbar.putClientProperty("JToolBar.isRollover", Boolean.TRUE);
// I'm dropping "Statement" from "Execute SQL Statement", etc.,
// because it may or may not be "one statement", but it is SQL.
// Build jbuttonClear Buttons - blaine
jbuttonClear = new JButton("Clear SQL", new ImageIcon(CommonSwing.getIcon("Clear")));
jbuttonClear.putClientProperty("is3DEnabled", Boolean.TRUE);
tipMap.put(jbuttonClear, "Clear SQL");
jbuttonClear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionevent) {
if (sqlScriptBuffer == null && txtCommand.getText().length() < 1) {
CommonSwing.errorMessage("No SQL to clear");
return;
}
clear();
}
});
jbuttonExecute = new JButton("Execute SQL", new ImageIcon(CommonSwing.getIcon("Execute")));
tipMap.put(jbuttonExecute, "Execute SQL");
jbuttonExecute.putClientProperty("is3DEnabled", Boolean.TRUE);
jbuttonExecute.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionevent) {
executeCurrentSQL();
}
});
jtoolbar.addSeparator();
jtoolbar.add(jbuttonClear);
jtoolbar.addSeparator();
jtoolbar.add(jbuttonExecute);
jtoolbar.addSeparator();
jbuttonClear.setAlignmentY(0.5F);
jbuttonClear.setAlignmentX(0.5F);
jbuttonExecute.setAlignmentY(0.5F);
jbuttonExecute.setAlignmentX(0.5F);
return jtoolbar;
}
use of java.awt.event.ActionEvent in project pcgen by PCGen.
the class OverlandPlugin method toolMenuItem.
/**
* Sets the index for the pane
* @param evt
*/
private void toolMenuItem(ActionEvent evt) {
JTabbedPane tp = GMGenSystemView.getTabPane();
IntStream.range(0, tp.getTabCount()).filter(i -> tp.getComponentAt(i) instanceof OverPanel).forEach(tp::setSelectedIndex);
}
Aggregations