- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 KeyHandler 在这里:
private void KeyHandler(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if(evt.getKeyCode() == KeyEvent.VK_UP)
{
if(menuPosition == 1){
MenuLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/labyrinth grafika/menu/menu_volba_3.png")));
menuPosition = 3;
}
else if(menuPosition == 2){
MenuLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/labyrinth grafika/menu/menu_volba_1.png")));
menuPosition = 1;
}
else if(menuPosition == 3){
MenuLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/labyrinth grafika/menu/menu_volba_2.png")));
menuPosition = 2;
}
}
if(evt.getKeyCode() == KeyEvent.VK_DOWN)
{
if(menuPosition == 1){
MenuLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/labyrinth grafika/menu/menu_volba_2.png")));
menuPosition = 2;
}
else if(menuPosition == 2){
MenuLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/labyrinth grafika/menu/menu_volba_3.png")));
menuPosition = 3;
}
else if(menuPosition == 3){
MenuLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/labyrinth grafika/menu/menu_volba_1.png")));
menuPosition = 1;
}
}
if(evt.getKeyCode() == KeyEvent.VK_ENTER)
{
if(menuPosition == 1){
menuPosition = 5;
Container parent = MenuLabel.getParent();
parent.removeAll();
parent.add(NewGamePanel);
parent.repaint();
parent.revalidate();
}
else if(menuPosition == 2){
menuPosition = 4;
MenuLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/labyrinth grafika/menu/readme.png")));
}
else if(menuPosition == 3){
System.exit(0);
}
else if(menuPosition == 4){
MenuLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/labyrinth grafika/menu/menu_volba_1.png")));
menuPosition = 1;
}
}
}
而且我还有我的按钮:
private void backButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jPanel1.removeAll();
jPanel1.add(MenuLabel);
jPanel1.repaint();
jPanel1.revalidate();
menuPosition = 1;
}
当 JPanel1 是我程序的面板时。我在那里有 CardLayout,当单击此按钮时,我想关闭所有内容,然后返回到我的 MenuLabel。
在Java生成的initComponents中有这样的代码:
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
MenuLabel = new javax.swing.JLabel();
NewGamePanel = new javax.swing.JPanel();
NewGameHeader = new javax.swing.JLabel();
NewGameBody = new javax.swing.JPanel();
sizeOfField = new javax.swing.JComboBox();
sizeOfFieldLabel = new javax.swing.JLabel();
NewGameOkButton = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
numberOfPlayersCombo = new javax.swing.JComboBox();
backButton = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Labyrinth - The Game");
setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
setMinimumSize(new java.awt.Dimension(1000, 650));
setPreferredSize(new java.awt.Dimension(650, 700));
setResizable(false);
setSize(new java.awt.Dimension(650, 700));
addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
KeyHandler(evt);
}
});
...
有趣的是,我的 KeyHandler 在单击按钮后不起作用,但是当我将这个简单的代码放入 backButtonActionPerformed 函数中时:
JOptionPane.showMessageDialog(null, null);
keyHandler 再次工作。谁能告诉我为什么会这样,以及如何在不弹出消息对话框的情况下使 KeyHandler 再次工作?
其余代码由 Java 生成(其他一些框等)
谢谢。
最佳答案
在您的函数中 backButtonActionPerformed(java.awt.event.ActionEvent evt)
尝试添加一行
jPanel1.requestFocusInWindow();
在 menuPosition = 1;
行之前尝试运行该程序。
关于java - showMessageDialog 影响 KeyHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30071858/
我正在编写一个使用条形码扫描仪作为输入的小应用程序。经过一些测试后,我决定使用 evt.getKeyCode() == KeyEvent.VK_ENTER 来启动对数据库的检查。因此,用户可以在文本框
我想我的问题对你来说很简单。我最近开始编程。我想确切地知道它在 showMesageDialog(null,"string") 的 null 中做了什么。 我总是看到有人设置为null,但我不知道为什
我正在开发一个简单的计数器 Swing 应用程序。我试图做到这一点,以便当您单击该复选框时,它将保留在顶部并显示一个消息对话框“在顶部”或“不在顶部”。 但是,当我在编译和运行后单击该复选框时,两条消
我使用Java Swing创建了一个登录框架-Login Frame(1),其中也发生了用户身份验证。 看起来像这样: 因此,如果用户输入了错误的电子邮件ID/密码,则应显示一个消息对话框。这就是为什
我很感兴趣,如何解释这个,这就像黑客一样?或者没有什么值得兴奋的? 也许,当您还是初学者时,您还有过其他类似的更有趣的经历吗? 警告!这不是问题(这真的很有帮助!),我只是在我的代码中寻找更多意义:)
我的 KeyHandler 在这里: private void KeyHandler(java.awt.event.KeyEvent evt) {
所以我是 GUI 新手,我有以下代码: import javax.swing.*; public class GUItest { String number = JOptionPane.sho
因此,当不满足某个条件时,我会出现一个 JOptionPane,并且出于某种原因,当我按“确定”时,它会再次出现,但当在第二个对话框上按“确定”时,它就会消失。 下面是创建对话框的方法: public
这就是场景。 我有代码,可以在遇到错误时启动警报。 AudioAlarm t = new AudioAlarm(song); try { Thread.sleep(2000);
我需要向用户显示信息消息,为此我使用以下代码: JOptionPane.showMessageDialog(null, "message", "result", JOptionPane.INFORMA
我想在 btnCurrentStatus 的点击事件中显示我的数组(已标记),然后我想返回用户选择的值。我为此使用的代码如下,但这里通过 showMessageDialog 方法我只能设法显示数组,我
我是 Java 的新手,正在尝试使用 GUI 显示消息。所以如果使用控制台 System.out.printf("Your total montly bill is $%.2f", totalCos
我在使用 JOptionPane.showMessageDialog() 方法时似乎遇到了一些问题。当我使用该方法时,唯一正确设置的是对话框标题。它不想显示我提供的文本。 这是我用来尝试创建警报的代码
我的问题是,当我使用 创建消息对话框时 JOptionPane.showMessageDialog( ... ) 在显示将图像绘制为背景的 JPanel 的应用程序上(取自:java swing: h
我正在 Java 上制作游戏,并且正在制作角色选择菜单。在该菜单中,我有字符,如果用户单击某个字符,则会出现 JOptionPane.showMessageDialog,显示该字符的统计信息。所以我的
我不只是想制作一个对话框。我有一个 JFrame 对象,我需要在运行其他类时首先显示它,但是我需要当 JFrame 对象执行时,它会等待/暂停/停止主类,例如 JOptionPane 对话框。我不希望
我有一个在 CLI 中运行的程序,但使用 JOptionPane 来显示弹出菜单以提醒用户有事件发生。我注意到,当调用 showMessageDialog 方法时,生成的弹出菜单不会自动聚焦。 有没有
背景信息: 我有一个在海军服役的伙伴,他想知道我是否可以为他开发一个小应用程序,该应用程序可以在他执行 guard 任务时进行计算,因为显然依靠日历很难计算。我使用 JOptionPane.showM
我目前正在从事一个比我原先想象的要复杂的项目。我现在要做的是在不停止程序主线程执行的情况下显示一个消息对话框。现在,我正在使用: JOptionPane.showMessageDialog(null,
所以我的应用程序中有一个弹出对话框,告诉用户有关该程序的信息。在出现自定义图标之前,一切都很顺利。这是我尝试过的: 尝试 1: JOptionPane.showMessageDialog(dialog
我是一名优秀的程序员,十分优秀!