我写了一个简单的应用程序,我希望用JProgressBar来帮助我显示它的延迟;
我想用Joptionpane显示JProgressBar,带有取消按钮,它应该是模态的
这是我的源代码:
class CustomFrame extends JFrame {
private JProgressBar progressBar;
public CustomFrame() {
long start = System.currentTimeMillis();
myMethod();
this.getContentPane().setLayout(null);
this.setSize(200, 200);
//JOptionPane. ?????
this.setTitle("JFrame");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
long end = System.currentTimeMillis();
System.out.print("\nTime: " + (end - start));
}
public void myMethod(){
try {
java.io.File file = new java.io.File("i://m.txt");
BufferedReader input =
new BufferedReader(new FileReader(file));
String line;
while ((line = input.readLine()) != null) {
if (line.indexOf("CREATE KGCGI=") != -1 ){
System.out.println(line);
}
}
input.close();
}
catch(Exception e){
e.printStackTrace();
}
}
谢谢...
答案 0 :(得分:3)
要使其发挥作用,您需要做几件事:
file.length()
),以确定如何确定进度条的范围(myProgressBar.setMaximum(length)
)myProgressBar.setValue(myProgressBar.getValue()+lineLength)
)。通过批评的几点:
init()
方法那样。JFrame
作为超类做了什么。 JOptionPane
是一个类,它会弹出一个带有一些文本的非常基本的模态对话框,可能是一个图标或输入字段。它不是嵌入对话框的面板。JDialog
可能更容易,它也可以是模态的。 JDialog
将允许您根据需要添加按钮,其中独立JOptionPane
将要求您使用是/否,或是/否/取消或确定/取消等。JOptionPane
,并且只显示取消按钮,则可以实例化JOptionPane
(而不是使用实用程序show*
方法),并将进度条设置为message
和JOptionPane.CANCEL_OPTION
作为optionType
参数。您仍然需要将其放入JDialog
以使其可见。有关详细信息,请参阅this tutorial:JOptionPane(构造函数)
使用指定的按钮,图标,消息,标题等创建JOptionPane。然后,您必须将选项窗格添加到JDialog,在选项窗格上注册属性更改侦听器,并显示该对话框。有关详细信息,请参阅停止自动对话框关闭。