[蟲?] 滑鼠左右按鍵事件

看板java作者 (黃金會死鳥-死後無法復活)時間7年前 (2016/08/02 13:08), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
設定左右按鍵事件接收後, 每次按下左鍵會多出一次事件 也就是我原先預定左鍵按一次, 跳一次輸入框 當我要加入多組文字時, 後面按一次左鍵輸入文字, 之後還會持續跳出輸入框 可能是按鍵監聽事件寫壞 請各位高手看看應該怎麼改 謝謝 原始碼相關部分 private List<JButton> item = new ArrayList<JButton>(); private Object clickButton = null; public void paintTable() { frameTable.setLayout(new GridLayout(3,0)); buttonPop popup = new buttonPop(); for (int i = 0; i < item.size(); i++) { frameTable.add(item.get(i)); item.get(i).setVisible(true); item.get(i).addMouseListener(popup); } } private class buttonPop extends MouseAdapter { public void mousePressed(MouseEvent me) { if (SwingUtilities.isRightMouseButton(me)) { popupMenu = new JPopupMenu(); LinkedList<JMenuItem> popupItem = new LinkedList<JMenuItem>(); clickButton = me.getSource(); PopupSelect select = new PopupSelect(); for (int i = 0; i < item.size(); i++) { JMenuItem tmpItem = new JMenuItem(item.get(i).getText()); tmpItem.addActionListener(select); popupItem.addLast(tmpItem); } while (!popupItem.isEmpty()) { popupMenu.add(popupItem.removeFirst()); if (!popupItem.isEmpty()) popupMenu.addSeparator(); } popupMenu.show(me.getComponent(), me.getX(), me.getY()); } else if (SwingUtilities.isLeftMouseButton(me)) { String newLeaveItem = JOptionPane .showInputDialog(mainFrame, "Enter a new item, ex :", "輸入其他字"); if (newLeaveItem == null) { return; } for (int i = 0; i < item.size(); i++) { if (item.get(i).getText().equals(newLeaveItem)) { JOptionPane.showMessageDialog(null, "Duplicated items", "Warning", JOptionPane.WARNING_MESSAGE); return; } } item.add(new JButton(newLeaveItem)); paintTable(); mainFrame.revalidate(); } } } private class PopupSelect implements ActionListener { public void actionPerformed(ActionEvent ae) { String selectItem = ae.getActionCommand(); if (item.contains((JButton) clickButton)) { ((JButton) clickButton).setText(selectItem); } } } -- 歷代主角: 武藤戲---神抽 城十代---強運 不動星---印卡 九十九馬---搓牌 翼神龍 效果:此卡不可特殊召喚... 神獸王 表示:同樣三祭品 我免費炸半場外加三千打點 裁龍 表示:同樣支一千 我能炸全場還不用扣血加攻 巨神兵 表示:聽說我可以特召 天空龍 表示:我現在可以捏死原作狂特召的你 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.7.181 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1470114510.A.AC8.html
文章代碼(AID): #1Ne2hEh8 (java)