Java 在actionPerformed中打开JProgressbar
我正在尝试在actionPerfomed中执行ProgressBar(我有一个界面,带有一个浏览文件夹的按钮和一个运行按钮)。目标是在按下run按钮后启动progressbar,但当窗口出现时,它全部为空 我使用以下代码启动带有浏览和运行按钮的窗口:Java 在actionPerformed中打开JProgressbar,java,swing,jframe,jprogressbar,Java,Swing,Jframe,Jprogressbar,我正在尝试在actionPerfomed中执行ProgressBar(我有一个界面,带有一个浏览文件夹的按钮和一个运行按钮)。目标是在按下run按钮后启动progressbar,但当窗口出现时,它全部为空 我使用以下代码启动带有浏览和运行按钮的窗口: final JFrame frame_project = new JFrame("PROJECT 22"); final JPanel panel = new JPanel(); frame_project.setSize(400,
final JFrame frame_project = new JFrame("PROJECT 22");
final JPanel panel = new JPanel();
frame_project.setSize(400,250);
frame_project.add(panel);
panel.setLayout(null);
JButton button2 = new JButton("Browse");
button2.setBounds(30, 30, 90, 25);
panel.add(button2);
final JButton buttonStartCompare = new JButton();
buttonStartCompare.setText("RUN");
buttonStartCompare.setBounds(100, 80, w/2, h/2);
panel.add(buttonStartCompare);
frame_project.setVisible(true);
然后,在执行的操作中,我有以下内容:
buttonStartCompare.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JProgressBar it = new JProgressBar();
frame_project.setVisible(false);
JFrame frame = new JFrame("Progress Bar");
JPanel panel = new JPanel();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.add(it);
frame.setContentPane(it);
frame.pack();
frame.setSize(250,100);
frame.add(panel);
frame.setVisible(true);
}
}
编辑:
这是在Oracle中看到的完整代码。第一个“ProgressMonitorDemo.createAndShowGUI();”正常第二个不正常:
final JButton Button_Run = new JButton();
Button_Run.setText("RUN");
Button_Run.setBounds(140, 80, 100, 100);
panel.add(Button_Run);
ProgressMonitorDemo.createAndShowGUI();
Button_Run.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
Button_Run.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
if(fieldSheetsDirectory.getText().isEmpty()){
JFrame frame_missing = PanelUtils.getErrorPanel("Please select the files ");
Button_Run.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
frame_missing.setVisible(true);
return;
}
final String path = fieldSheetsDirectory.getText();
fieldPathRapport.setText("\\Rapport.xlsx");
fieldPathOriginal.setText("\\Original.xlsx");
fieldPathCartoo.setText("\\MyCarto draft V2.xlsx");
long lStartTime_open = System.currentTimeMillis();
String path_Raportt = path.concat(fieldPathRapport.getText());
String path_Original = path.concat(fieldPathOriginal.getText());
String path_MyCartoo = path.concat(fieldPathCartoo.getText());
System.out.println(path);
System.out.println("");
XSSFWorkbook OriginalBook = FileUtils.OpenFile(path_Original);
XSSFWorkbook RapportBook = FileUtils.OpenFile(path_Raportt);
XSSFWorkbook MyCartoBook = FileUtils.OpenFile(path_MyCartoo);
if(OriginalBook == null || RapportBook == null || MyCartoBook == null){
return;
} else {
frame.setVisible(false);
}
//JFrame frame_sucess = PanelUtils.getFinalErrorPanel("Running...");
//frame_sucess.setVisible(true);
ProgressMonitorDemo.createAndShowGUI();
您的代码中没有对JProgresbar的引用?你只有一个标题为“进度条”的JFrame。什么是SwingProgressBare示例?你有一个进度条、框架和一个面板,将进度条添加到面板中,将进度条设置为框架的内容窗格,然后将面板添加到框架中?是否将面板添加到进度条中?现在,最重要的是什么?SwingProgressBare示例基本上是启动ProgressBar(我已经编辑了以便于理解)@JamesWierzba面板只是一个测试。我猜这在节目里什么都没做。。。第一个代码在上面@FerdinandNeman我的问题是,如果我在执行操作之前放置相同的代码,那么一切都正常。但是,当我将动作performed放入其中时,只会显示框架。请阅读Swing教程中的部分,以获取工作示例。