사용자가 일정 시간 (10 초) 기다리도록하고 싶습니다. JSP 또는 서블릿에서 META 태그 <META HTTP-EQUIV="Refresh" CONTENT="3">
을 사용한다는 것을 알고 있습니다. Swing에서 사용자가 잠시 기다릴 수있는 방법이 있습니까? 나는 스윙을 사용하고있다. 사용자가 일정 시간 동안 기다리도록하고 데이터베이스에서 가져올 일부 정보를 표시하려고합니다. 스윙을 통해 가능합니까?스윙을 사용하여 사용자 대기하기
답변
javax.swing.Timer
을 사용할 수 있습니다. 예를 들어 :
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
public class SimpleTimer extends JFrame implements ActionListener
{
private JLabel label;
private Timer timer;
private int counter = 10; // the duration
private int delay = 1000; // every 1 second
private static final long serialVersionUID = 1L;
public SimpleTimer()
{
super("Simple Timer");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300, 65);
label = new JLabel("Wait for " + counter + " sec");
getContentPane().add(label);
timer = new Timer(delay, this);
timer.setInitialDelay(0);
timer.start();
setVisible(true);
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
new SimpleTimer();
}
});
}
@Override
public void actionPerformed(ActionEvent e)
{
if(counter == 0)
{
timer.stop();
label.setText("The time is up!");
}
else
{
label.setText("Wait for " + counter + " sec");
counter--;
}
}
}
나는 JProgressBar는 당신이 필요하다고 생각 ..
이전에, HTTP 서버는 HTTP 클라이언트 '이벤트를 보낼 수없는 WebSocket을에;! 상호 작용은 기본적으로 요청 - 응답이었습니다. 많은 응용 프로그램이 (클라이언트 쪽) 폴링 방식을 사용하여이 문제를 해결합니다. 새로 고침 메타 태그는 폴링을 구현하는 한 가지 방법입니다.
스윙은 매우 다릅니다. 이벤트의 힘이 충분합니다. 따라서 사용자가 미리 결정된 시간 동안 대기하게 만드는 아이디어는 일반적으로 잘못된 상호 작용입니다. 어떤 종류의 게임/퀴즈/애니메이션은 몇 가지 예외이며, 단순히 기다리는 것이 의미가 있습니다.) 결과가 계산/수신되지 않은 상태에서 기능적으로 반응하는 Swing GUI를 디자인해야합니다. 결과를 사용할 수있게되면 모델을 업데이트하고 모델이 변경되었음을 알리는 이벤트을 발동하십시오.
모델 자체는 필요에 따라 백그라운드 계산, 폴링 등을 수행 할 수 있습니다. 그 코드는 특정 스윙이 아닙니다. 해당 측면에 대한 도움이 필요하면 스택 오버플로에서 개별적으로 해당 내용을 찾고/묻는 것이 좋습니다.
마지막으로 스윙 스레드에서 잠자기하면 UI가 응답하지 않습니다. 그리고 관련 메모에서 모델에 의해 시작된 모든 이벤트는 Swing 이벤트 스레드에 대기열에 있어야합니다. 그 방법에 대해서는 SwingUtilities.invokeLater(...)을 참조하십시오.
멋진 요약 :-) – kleopatra
- 1. 스윙을 사용하여 이미지 그리기
- 2. 스윙을 사용하여 Java에서 채팅
- 3. 스윙을 사용하여 스택 작업
- 4. rsa 2048 스윙을 사용하여 구현
- 5. 스윙을 사용하여 자바에서 핫키 생성
- 6. 스윙을 사용하여 이미지에서 직사각형 회전
- 7. 스윙을 사용하여 제이드 에이전트를 실행하십시오.
- 8. 스윙을 사용하여 여러 사용자 지정 구성 요소가있는 jpanel을 배치하는 경우
- 9. 자바 스윙을 사용하여 서버에 파일을 업로드해야합니다.
- 10. 스윙을 사용하여 많은 매개 변수를 표시하는 방법
- 11. 자바에서 스윙을 사용하여 지정된 위치에 버튼 배치
- 12. 스윙을 사용하여 GUI에서 클래스 내용 표시
- 13. 자바 스윙을 사용하여 html 파일을 암호화합니다.
- 14. 스윙을 사용하여 Java 시뮬레이션을 일시 중지하는 방법
- 15. Java 스윙을 사용하여 테이블 형식으로 출력 인쇄
- 16. 자바 스윙을 사용하여 파인더/익스플로러 열기
- 17. 스윙을 사용하는 JTable
- 18. 스윙을 사용하는 패널
- 19. 자바/스윙을 사용한 과제물 지정
- 20. SQL과 스윙을 연결
- 21. 스윙을 사용하여 GUI에 여러 개의 레이블을 표시하는 방법
- 22. 스윙을 사용하는 JRuby : "OSX 메뉴"
- 23. 내가 자바 스윙을 사용하고 스윙
- 24. Java 시계가 스윙을 계산하지 않습니다
- 25. 스윙을 사용한 드래그 앤 드롭
- 26. 스윙을 배우기 전에 AWT를 배워야합니까?
- 27. 팝업 자바 스윙을 구현하는 방법
- 28. ServerSocket accept()가 소켓을 "수신 대기"모드로 대기하기 위해
- 29. 자바 스윙을 사용하여 필요한 폴더 URL을 얻는 방법은 무엇입니까?
- 30. Java 스윙을 사용하여 Excel 파일을 응용 프로그램 소프트웨어와 연결하는 방법
일정 기간 동안 일부 컨트롤을 채우거나 전체 양식을 다시로드하려고합니까? 어떤 방식 으로든 스레드를 사용하면 10 초 후에 내용을로드 할 수 있습니다. –