Jdialog를 닫을 때 기본 닫기 작업을 설정하려고합니다. 그러나 내 진행 표시 줄 코드가 닫는 이벤트를 재정의합니다. 나는 쓸 곳이 확실하지 않았다.X를 클릭하면 Jdialog를 감추거나 단순히 닫으십시오.
dialog.setVisible(true); and dialog.setDefaultCloseOperation(HIDE_ON_CLOSE);
진술.
이하는 내 init() method
및 내 Jdialog
입니다. 검토하고 제안하십시오.
@Override
public void init() {
dialog = new JDialog(new JFrame(), "Progress", true);
dialog.setSize(300, 75);
dialog.setDefaultCloseOperation(HIDE_ON_CLOSE);
}
public void updateProgressBar(final int progress) {
dialog.setAlwaysOnTop(true);
for (i = 0; i <= 100; i = i + 1) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
progressBar.setValue(progress);
dialog.setVisible(true);
}
});
}
if(progressBar.getValue()==100){
dialog.dispose();
System.out.println("File uploaded successfully!");
}
는 여기에서 작동하지 않는 것이합니다 - dialog.setDefaultCloseOperation().
가되어 작동하지 않는 이유는 - 내 파일 업로드의 업데이트 진행 상황을 보여주고, 내 updateProgessBar()
방법에 dialog.setVisible(true)
을 가지고 있기 때문에.
dialog.setVisible becomes true
때마다 init() method
에 쓰여진 setDefaultCloseOperation
을 무시합니다. 내 updateProgressBar()에있는 dialog.setVisible (true)을 다른 곳에 배치하면 jdialog 진행률 막대가 업데이트되지 않고 예상대로 표시되지 않습니다.
제 질문은 코드 내에서이 두 문장을 어떻게 조정하여 기본 닫기 연산을 수행 할 수 있습니까?
[최소, 완료, 테스트 및 읽을 수있는 예제] (http://stackoverflow.com/help/mcve)를 게시하고 MCTRE를 게시 한 후 작동하지 않는 사항을 더 잘 설명 할 수 있습니까? –
더 나은 선명도를 제공하기 위해 제 질문을 업데이트 해 주셔서 감사합니다. – eros