Java 在按钮上具有不确定模式的进度条单击不';行不通
我正在使用netbeans,这是按钮单击功能。我希望在单击按钮后立即运行进度条。模式将是不确定的,因为我正在调用一个类Java 在按钮上具有不确定模式的进度条单击不';行不通,java,netbeans,jprogressbar,Java,Netbeans,Jprogressbar,我正在使用netbeans,这是按钮单击功能。我希望在单击按钮后立即运行进度条。模式将是不确定的,因为我正在调用一个类WriteToFile,它在后台工作数分钟,并且不返回任何值 private void createFileButtonActionPerformed(java.awt.event.ActionEvent evt) { String str = (String) selectTypeComboBox.getSelectedItem(); createFileBut
WriteToFile
,它在后台工作数分钟,并且不返回任何值
private void createFileButtonActionPerformed(java.awt.event.ActionEvent evt)
{
String str = (String) selectTypeComboBox.getSelectedItem();
createFileButton.setEnabled(false);// Prevent more button presses
String filepaths = fileChooserWindow.getSelectedFile().getAbsolutePath();
String selectType =(String) selectTypeComboBox.getSelectedItem();
WriteToFile writeOBJ;
writeOBJ = new WriteToFile(filepaths,start,selectType);
try
{
writeOBJ.selectType();
}
catch (SQLException | IOException | RuntimeException ex)
{
System.exit(0);
}
}
让这个工作:
jProgressBar1.setVisible(true);
jProgressBar1.setIndeterminate(true);
Executor executor = java.util.concurrent.Executors.newSingleThreadExecutor();
executor.execute(new Runnable(){
@Override
public void run(){
String str = (String) selectTypeComboBox.getSelectedItem();
createFileButton.setEnabled(false);// Prevent more button presses
String filepaths = fileChooserWindow.getSelectedFile().getAbsolutePath();
String selectType =(String) selectTypeComboBox.getSelectedItem();
WriteToFile writeOBJ;
writeOBJ = new WriteToFile(filepaths,start,selectType);
try
{
writeOBJ.selectType();
}
catch (SQLException | IOException | RuntimeException ex)
{
System.exit(0);
}
jProgressBar1.setVisible(false);
}
创建一个JProgressbar并将其设置为不确定模式,默认情况下使其
setVisible(false)
,调用函数时,使JProgressbar可见,并在完成所有不起作用的操作后将其隐藏。我在函数的开头添加了jProgressBar1.setVisible(true),在末尾添加了setVisible(false)。我想我需要使用类似于C#中Backgroundworker的东西。在线程中运行它,然后你能用代码解释吗?我试过穿线,但遗漏了一些东西。