=
==
===
SWING设置快捷键,不难,看代码好了
关键就是这两行了:
---
btn.registerKeyboardAction(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "hello world");
}
}, KeyStroke.getKeyStroke(
KeyEvent.VK_F10, InputEvent.CTRL_DOWN_MASK),
JComponent.WHEN_IN_FOCUSED_WINDOW);
---
红色是组合键,推荐用一下CTRL 或者 SHIFT,不用就用0代替[InputEvent.CTRL_DOWN_MASK],
蓝色一定要,说明本窗口激活时,这对快捷键才有用.
==OVER==
/*
* HbTestForm.java
*
* Created on Oct 7, 2010, 6:33:11 PM
*/
package downtimemodule;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JOptionPane;
import javax.swing.KeyStroke;
/**
*
* @author hubin
*/
public class HbTestForm extends javax.swing.JFrame {
/** Creates new form HbTestForm */
public HbTestForm() {
initComponents();
//show the frame in the middle of screen
this.setLocationRelativeTo(null);
JButton btn = new JButton("btnTest");
btn.setText("clickme");
btn.registerKeyboardAction(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "hello world");
}
}, KeyStroke.getKeyStroke(KeyEvent.VK_F10, InputEvent.CTRL_DOWN_MASK), JComponent.WHEN_IN_FOCUSED_WINDOW);
/*
*above line is to set a short cut key [ctrl+F10] to show hello world
* //JComponent.WHEN_IN_FOCUSED_WINDOW
java.awt.event.InputEvent.SHIFT_DOWN_MASK
java.awt.event.InputEvent.CTRL_DOWN_MASK
java.awt.event.InputEvent.META_DOWN_MASK
java.awt.event.InputEvent.ALT_DOWN_MASK
java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK
use 0 to set no ctrl or shift..key is needed
*/
this.getContentPane().add(btn);
//this is unnecessary, IDE do it, see gen code
//this.setSize(400, 300);
this.setVisible(true);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
setName("hbtestframe"); // NOI18N
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new HbTestForm().setVisible(true);
}
});
}
// Variables declaration - do not modify
// End of variables declaration
}
分享到:
相关推荐
在本篇文章中,我们将详细探讨如何在Java中为`JButton`设置快捷键。 首先,我们需要了解快捷键的基本概念。快捷键通常由一个或多个按键组成,例如Ctrl+C用于复制,它们可以帮助用户快速执行特定操作而无需通过鼠标...
6. JMenu和JMenuItem:菜单和菜单项构成下拉菜单系统,`add()`方法用于添加子菜单项,`setAccelerator()`设置快捷键。 Swing 还引入了一些高级组件,如JTable、JTree和JTabbedPane: 7. JTable:用于显示二维数据...
同时,可以通过`setAccelerator()`方法为菜单项设置快捷键,提高用户体验。 其次,弹出式菜单(PopupMenu)是另一种常见的交互方式,它会在用户触发特定事件(如右键点击)时显示。在Swing中,我们可以使用`...
可以设置快捷键,添加ActionListener来响应用户的点击事件。 9. **快捷键加速器(Accelerator)**:快捷键可以提高用户操作效率,通过KeyStroke和ActionMap实现。例如,Ctrl+S可以绑定到“保存”操作。 10. **禁用...
- **应用场景**:在图形用户界面(GUI)应用程序中,为了提高用户的操作效率,经常设置快捷键来代替鼠标点击等交互方式。 #### 示例代码解析: 在提供的Java示例代码中,作者创建了一个简单的窗口,并为其中的三个...
Swing中的导航主要指的是在组件之间,如按钮、文本框和菜单之间的交互方式,这些通常涉及键盘快捷键和鼠标操作。 Swing组件包括但不限于: 1. **JFrame**: 应用程序的主窗口,通常作为其他组件的容器。 2. **JPanel...
- Swing允许改变组件的外观,通过LookAndFeel类可以设置不同的UI风格,如Metal、Windows、Motif等。 6. **组件的状态和属性**: - Swing组件有很多可调整的属性,如可见性、大小、颜色等,开发者可以通过setter...
JMenu 还支持快捷键设置,方便用户操作。 3. **JMenuBar**: JMenuBar 是菜单栏的类,通常位于窗口的顶部。你可以将多个 JMenu 添加到 JMenuBar 中,创建多级菜单系统。 4. **JMenuItem**: JMenuItem 是菜单中的一...
8. **模板和快捷键**:预定义了一系列Swing相关的代码模板和快捷键,使得常见的Swing编程任务变得简单快捷。 9. **资源管理**:对于图标和其他资源文件的管理,Eclipse Swing插件提供了方便的工具,能够方便地导入...
- `setMnemonic(KeyEvent.VK_A)` 设置快捷键,这里 `VK_A` 是 KeyEvent 的常量,代表 'A' 键。 - `setHorizontalTextPosition()` 和 `setVerticalTextPosition()` 可以调整文字相对于按钮的位置。 五、按钮组管理 ...
在Swing中,下划线通常用于实现各种视觉效果或者特定的功能,比如强调某个按钮或文本组件的重要信息,或者是实现快捷键的表示。在Java Swing中,下划线的应用主要体现在JButton、JLabel、JMenuItem等组件上。 在...
此外,可以重写`JTree`的`getActionMap()`和`getKeymap()`方法,添加自定义的键盘快捷键处理。 在`SystemFileTree.java`这个源文件中,很可能包含了实现文件系统树的代码。它可能使用`java.io.File`对象作为`...
- `setMnemonic(char key)`:设置按钮的快捷键,通常与Alt键结合使用。 #### JFrame详解 `JFrame`是Swing中用来创建窗口的主要容器,它是`JWindow`的子类,继承了所有`JWindow`的功能,并添加了默认的关闭操作。`...
- **灵活性**:工具栏可以被设置为水平或垂直方向。 #### 四、Swing菜单的类层次结构 Swing菜单系统的类层次结构如下所示: - `JMenuBar`:代表菜单栏。 - `JMenu`:表示菜单。 - `JMenuItem`:表示普通的菜单项...
- **设置快捷键**:通过 `setMnemonic()` 方法设置按钮的快捷键,例如 `bl.setMnemonic(KeyEvent.VK_L);`。 - **设置按钮是否可用**:通过 `setEnabled()` 方法控制按钮的启用状态,如 `br.setEnabled(false);`。 #...
5. **菜单栏与快捷键**:通过JMenuBar和JMenu可以创建菜单栏,JMenuItem用于添加菜单项,结合Key Bindings可以设置快捷键,提高用户体验。 从标签“java 开发语言 后端 apache swing”可以看出,这个项目可能也涉及...
2. **UIManager**:这是Swing中管理界面样式的主要类,它负责设置和获取LookAndFeel,以及组件的默认属性。通过UIManager,我们可以轻松地切换LookAndFeel,并更新整个应用程序的界面。 3. **组件外观(ComponentUI...
同时,JMenu和JMenuBar用于构建应用程序的菜单系统,提供丰富的菜单项和快捷键支持。 六、组件定制与外观美化 Swing允许开发者自定义组件的行为和外观。通过继承已有的组件并重写方法,可以创建具有特定功能的新...