Java를 사용하여 버튼을 누른 상태에서 작업을 계속 실행하고 싶습니다. 버튼을 놓으면 작업이 중단됩니다. 다음과 같은 내용 :버튼을 누르고있는 동안 어떻게 작업을 계속 실행할 수 있습니까?
Button_is_pressed()
{
for(int i=0;i<100;i++)
{
count=i;
print "count"
}
}
어떻게하면됩니까?
Java를 사용하여 버튼을 누른 상태에서 작업을 계속 실행하고 싶습니다. 버튼을 놓으면 작업이 중단됩니다. 다음과 같은 내용 :버튼을 누르고있는 동안 어떻게 작업을 계속 실행할 수 있습니까?
Button_is_pressed()
{
for(int i=0;i<100;i++)
{
count=i;
print "count"
}
}
어떻게하면됩니까?
한 가지 방법 :
isPressed()
방법을 확인하고 또는 그 상태에 따라 스윙 타이머 켜고 끌이 수신기에서의 JButton의 ButtonModel에이전의 예 :
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class ButtonPressedEg {
public static void main(String[] args) {
int timerDelay = 100;
final Timer timer = new Timer(timerDelay , new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button Pressed!");
}
});
JButton button = new JButton("Press Me!");
final ButtonModel bModel = button.getModel();
bModel.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent cEvt) {
if (bModel.isPressed() && !timer.isRunning()) {
timer.start();
} else if (!bModel.isPressed() && timer.isRunning()) {
timer.stop();
}
}
});
JPanel panel = new JPanel();
panel.add(button);
JOptionPane.showMessageDialog(null, panel);
}
}
을 누르고있는 동안 작업을 실행 유지하려면 차단하고 실행을 취소하거나 중지하려면 버튼을 누를 수 있습니다.내가 버튼이 다른 스레드에서 해당 프로세스를 실행 한 후 양식이 아닌
은 다음을 참조하십시오
당신은 행동
를 시작하고 작업을 중지 mouseReleased
이벤트를 사용하는 mousePressed
이벤트를 사용해야 할 수 있습니다 (이 자세한 내용은 neccesary)
이 당신이 원하는 무엇인가 here
아니요,이 경우 MouseListener를 사용하지 않는 것이 좋습니다. 하나의 경우 JButton을 비활성화하여 작동하지 못하게하려고해도 MouseListener는 계속 작동합니다. 일반적으로 JButton과 함께 MouseListener를 사용하지 않는 것이 가장 좋습니다. –
@Hov 그냥 마지막 문장에 +1 했어. 코멘트의 나머지 부분도 훌륭한 조언이었습니다. –
참조입니까? http://stackoverflow.com/questions/1719166/making-a-jbutton-stay-depressed-manually – AnujKu
이벤트 대기열이 작동하는 방식 때문에 이것이 좋은 아이디어라고 할 수 없습니다. 버튼 누름이 발생할 때 차단하면 마우스 업 이벤트가 발생하지 않습니다 ... – MadProgrammer
아니요 원하는 것은 사용자가 버튼을 계속 누른 상태에서 몇 가지 프로세스를 시작해야한다는 것입니다. stop –