2015-06-04 20 views
0

所以我想製作一個程序,爲我按住鼠標按鈕。如何使用Java創建自動選擇器?

到目前爲止,我得到這個:http://pastebin.com/UTJwdHY7

什麼我不知道是我怎麼能阻止它。另外,我意識到停止按鈕是沒有意義的,因爲無論如何我都無法點擊它。關於我迄今爲止所做的一些提示也很好。

編輯(添加代碼):

package main; 

import javax.swing.*; 
import javax.swing.border.LineBorder; 
import java.awt.*; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.awt.event.InputEvent; 
import java.beans.PropertyChangeListener; 

public class clickForever extends JFrame implements ActionListener { 

public static boolean isClicking = false; 

public void actionPerformed(ActionEvent e) {} 

public void createFrame() { initComponents(); } 

public void initComponents() { 

    JFrame frame = new JFrame("AutoClicker"); 
    JPanel panel = new JPanel(true); 
    JButton button = new JButton("OKAY"); 
    JLabel label = new JLabel(); 

    frame.setVisible(true); 
    frame.setSize(350, 67); 
    frame.setResizable(false); 
    frame.setDefaultCloseOperation(EXIT_ON_CLOSE); 
    frame.setLocationRelativeTo(null); 
    frame.getContentPane().add(panel, BorderLayout.CENTER); 
    frame.add(panel); 

    button.addActionListener(new Action() { 

     @Override 
     public Object getValue(String s) { 
      return null; 
     } 

     @Override 
     public void putValue(String s, Object o) {} 

     @Override 
     public void setEnabled(boolean b) {} 

     @Override 
     public boolean isEnabled() { 
      return false; 
     } 

     @Override 
     public void addPropertyChangeListener(PropertyChangeListener propertyChangeListener) {} 

     @Override 
     public void removePropertyChangeListener(PropertyChangeListener propertyChangeListener) {} 

     @Override 
     public void actionPerformed(ActionEvent actionEvent) { 

      if(isClicking){isClicking = false; return;} 
      if(!isClicking){isClicking = true; return;} 
     } 
    }); 

    label.setFont(new Font("Times New Roman", 1, 16)); 
    label.setText("Click 'OKAY' to start."); 
    label.setBorder(BorderFactory.createLineBorder(Color.black)); 

    panel.add(label); 
    panel.setBorder(new LineBorder(Color.BLACK)); 
    panel.add(button); 

} 

public static void main(String[] args) throws java.awt.AWTException, java.lang.InterruptedException { 
    clickForever clickForever = new clickForever(); 
    Robot rbt = new Robot(); 

    clickForever.createFrame(); 

    while(true){ 
     if(isClicking) rbt.mousePress(InputEvent.BUTTON1_MASK); 
     if(!isClicking) ; 
    } 
    } 
} 
+0

您可以添加定時器,因此它只會在一段時間內點擊,或者您可以等待組合鍵 – user902383

+0

請在此處發佈代碼 –

回答

0

添加按鍵偵聽到框架上,並且當按下該鍵時,停止按壓。請注意,如果畫面不合焦,這將不起作用,在這種情況下,您將不得不聽取全球按鍵,而我認爲這會更困難。