标签: jprogressbar

Java GUI JProgressBar没有绘画

我有一个GUI问题,我想整理出来,但我对发生的事情感到困惑,希望你们中的一个人能解释一下.代码库太大而无法上传,但我会详细解释发生了什么:

我有一个类ProgessBar是一个JDialog包含摆动JProgressBar.我有一些吸气剂和制定者可以根据自己的喜好改变标准,但问题就出现了.

ProgressBar是在方法中生成的 myButtonActionPerformed

myButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                myButtonActionPerformed(evt);
            }
        });
Run Code Online (Sandbox Code Playgroud)

基本上当用户点击此按钮时,处理开始并ProgressBar产生.

用户当前有一个JFrame在他们面前,这个进度条弹出一个JDialog.在Netbeans中逐步调试模式之后,我可以看到它JProgressBar的值发生了变化,但是当我的程序处理时,条形图在视觉上保持0%,然后在它离开上面的添加动作侦听器方法时立即跳转到100%,几乎为如果它等待重画,直到听众.我不明白的是什么?有什么我可以调用它会强制它在这个myButtonActionPerformed方法内更新,而不是等到它没用.

java user-interface swing jprogressbar

3
推荐指数
1
解决办法
2155
查看次数

JTabbedPane:在选项卡中显示任务进度

我有一个简单的Swing Java应用程序执行搜索,结果显示在一个新选项卡中.搜索正在运行时,我想在选项卡的标题中显示进度图标或动画.我尝试添加一个gif图标,但它没有动画.有没有理由不这样做?

java swing jtabbedpane jprogressbar

3
推荐指数
2
解决办法
4054
查看次数

JProgressBar具有双倍价值

您好我想知道我是否可以扩展a JProgressBar使用最小值的double值,而不是int.谢谢.

java swing jprogressbar

2
推荐指数
1
解决办法
3402
查看次数

在处理事物时创建Modal JDialog

你如何创建一个Modal JDialog说"加载",而任务正在处理,超过3秒后显示?

java concurrency swing jdialog jprogressbar

2
推荐指数
1
解决办法
486
查看次数

表格中的JProgressBar动画

我有以下问题:

我有一个JTable,它向我展示了一个命令的进度.我有两种命令.确定和不确定的命令.

如果我在表中只有未确定的进度条,则表明进度正确.但是,如果我有一个确定的进度条,其他未确定的动画将不会生动.

这是我的代码:

class ProgressBarRenderer implements TableCellRenderer {

    /** The bar. */
    private JProgressBar bar = new JProgressBar() {
        public boolean isDisplayable() {
            return true;
        };
    };

    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        ProgressBarInfo pbi = (ProgressBarInfo) value;
        if (pbi.getType() == Progress.LS) {
            if (pbi.getValue() == -1) {
                bar.setIndeterminate(false);
                bar.setValue(0);
                bar.setString("Progress ended");
            } else {
                bar.setIndeterminate(true);
                bar.setString(pbi.getValue() + " " + pbi.getText());
            }
            bar.setStringPainted(true);

            return bar;
        } else if …
Run Code Online (Sandbox Code Playgroud)

java swing jtable jprogressbar

2
推荐指数
1
解决办法
1068
查看次数

在下载过程中使用swingworker更新JProgressBar

问题已解决!!!!!! 非常感谢trashgod和HoverCraftFullOfEels!我终于通过使用下面的例子并略微改变它来获得这个概念.更改允许缩放进度条(默认为100个单位).再次感谢您的耐心和愿意为此而努力.意味着很多人,~Kyte

ps - + 1全部'围绕:)

/** @see http://stackoverflow.com/questions/4637215 */
public class Threading_01 extends JFrame {

private static final String s = "0.00";
private JProgressBar progressBar = new JProgressBar(0, 100);
private JLabel label = new JLabel(s, JLabel.CENTER);

public Threading_01() {
    this.setLayout(new GridLayout(0, 1));
    this.setTitle("?2");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.add(progressBar);
    this.add(label);
    this.setSize(161, 100);
    this.setLocationRelativeTo(null);
    this.setVisible(true);
}

public void runCalc() {
//    progressBar.setIndeterminate(true);
    TwoWorker task = new TwoWorker();
    task.addPropertyChangeListener(new PropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent e) {
            if ("progress".equals(e.getPropertyName())) {
                progressBar.setIndeterminate(false);
                progressBar.setValue((Integer) e.getNewValue());
                System.out.println("**: " …
Run Code Online (Sandbox Code Playgroud)

java swing multithreading swingworker jprogressbar

2
推荐指数
1
解决办法
4660
查看次数

JProgressBar不会更新

我正在尝试将JProgressBar添加到我的程序中,但它不会更新!只有在100%的原因后,该值才会更改.这是我的方法.

public void downloadImages(List<String> images) {
    if (errorCode == 0) {
        for (int i = 0; i < images.size(); i++) {
            if (errorCode == 0) {
                main.progressLabel.setText("Downloading image " + Integer.toString(i + 1) + " of " + Integer.toString(images.size()));
                String imageStr = images.get(i);
                String imageName = imageStr.substring(imageStr.lastIndexOf("/") + 1);
                try {
                    URL url = new URL(imageStr);
                    InputStream in = url.openStream();
                    OutputStream out = new FileOutputStream(saveDirectory + imageName);

                    byte[] b = new byte[2048];
                    int length;
                    while ((length = in.read(b)) != -1) …
Run Code Online (Sandbox Code Playgroud)

java concurrency swing jprogressbar event-dispatch-thread

2
推荐指数
1
解决办法
1188
查看次数

进度条Java

我正在使用JProgressBar来显示进度.但是,如何将progressBar显示为从0加载到100?我从互联网及其工作中获得了代码,但progressBar没有加载.

progressFrame = new JFrame(); // frame to display progress bar
progressBar = new JProgressBar(0,100);
progressBar.setValue(0);
progressBar.setStringPainted(true);
progressFrame.add(progressBar);

new SwingWorker<Void,Void>()
    {
        protected Void doInBackground() throws SQLException, ClassNotFoundException
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            progressBar.setValue(0);
            frame.setEnabled(false); // frame = main frame

            //tableclass creates a JTable with data from database
            tableclass = new TheDatabaseTable(deptName);//it takes time to create
            progressBar.setValue(50);
            frame.getContentPane().removeAll();
            frame.setContentPane(tableclass);

            frame.validate();
            frame.repaint();

            progressBar.setValue(100);
            //progressFrame.dispose();
            return null;
        }; 
        protected void done()
        {
            //progressFrame.setVisible(false);
            frame.setVisible(true);
            progressFrame.dispose();
            frame.setEnabled(true);
        }

    }.execute();
Run Code Online (Sandbox Code Playgroud)

如果有人编辑上述代码,我将不胜感激.谢谢.

java swing jtable tablecelleditor jprogressbar

2
推荐指数
2
解决办法
3万
查看次数

当我从另一个类更新时,为什么"javax.swing.JProgressBar"在旧值之上显示新值?

问题:

ClassA
    static JProgressBar progressBar;
ClassB
    ClassA.progressBar.setValue(0);
    ...
    ClassA.progressBar.setValue(10);
    ...
    ClassA.progressBar.setValue(20);
Run Code Online (Sandbox Code Playgroud)

进度条显示0,然后在0的顶部显示10,然后在10的顶部显示20.

码:

public class ClassA
{
    static JProgressBar progressBar;
    public ClassA()
    {
        ...
        progressBar = new JProgressBar(0, 100);
        progressBar.setStringPainted(true);
        ...
    }
    public static void main(String[] args)
    {
        ClassA cA = new ClassA();
        cA.something();
    }
    public void something()
    {
        ...
        panel.add(progressBar, BorderLayout.CENTER);
        ...
    }
    ...
}
public class ClassB
{
    public void something()
    {
        ...
        ClassA.progressBar.setValue(0);
        ClassA.progressBar.update(ClassA.progressBar.getGraphics());
        ...
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我还在面板中添加了进度条.如上所述,它显示进度条和百分比,但它显示每个值在另一个之上.

编辑: 问题非常类似于:Java Swing revalidate()vs repaint().但是,而不是

旧内容仍然可见(虽然被新内容遮盖) …

java swing jprogressbar

2
推荐指数
1
解决办法
520
查看次数

改变JProgressBar的形状

我是Java的新手,但需要知道,如果开发人员可以这样做,他/她可以改变它的形状JProgressBar.我的意思是假设在我的情况下我想改变形状,使它看起来像一个圆圈或其他东西?

虽然我只是想将它从条形更改为弧形,或者你可以说我想将条形更改为任何其他形状.我的进度条可能看起来像条形以外的曲线.我想在其中添加一条曲线.

java swing shape jprogressbar

2
推荐指数
1
解决办法
1392
查看次数