Java进度条不关闭(我安装jdk的时候,到了安装java那一步,进度条卡住不动了,官网下的jdk安装包)

2023-11-28 19:00:02 :28

java进度条不关闭(我安装jdk的时候,到了安装java那一步,进度条卡住不动了,官网下的jdk安装包)

本篇文章给大家谈谈java进度条不关闭,以及我安装jdk的时候,到了安装java那一步,进度条卡住不动了,官网下的jdk安装包对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

我安装jdk的时候,到了安装java那一步,进度条卡住不动了,官网下的jdk安装包

先休眠或睡眠,过几秒钟再唤醒,就恢复正常了,很多基于java的安装程序都有这个特点。

关于Java中进度条的问题

import java.awt.BorderLayout;import java.awt.Cursor;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JProgressBar;import javax.swing.SwingWorker;public class Bar extends JFrame implements PropertyChangeListener{private static final long serialVersionUID = 1L;private JProgressBar progressBar;private JButton copy;private Task task;public Bar(String title){setTitle(title);setLayout(new BorderLayout());progressBar = new JProgressBar(0, 100);progressBar.setValue(0);progressBar.setStringPainted(true);add(progressBar, BorderLayout.CENTER);copy = new JButton("拷贝");copy.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){start();copy.setEnabled(false);}});add(copy, BorderLayout.EAST);}class Task extends SwingWorker《Void, Void》{@Overridepublic Void doInBackground(){setProgress(0);File file = new File("aa.mp3");long size = file.length();byte;int length = 0;long cLength = 0;try{InputStream stream = new FileInputStream(file);OutputStream os = new FileOutputStream(new File("a.mp3"));while((length = stream.read(bts)) 》 0){os.write(bts, 0, length);cLength += length;setProgress((int) (cLength * 100 / size));Thread.sleep(100);}os.close();stream.close();}catch(Exception e1){e1.printStackTrace();}return null;}@Overridepublic void done(){setTitle("拷贝完毕");Toolkit.getDefaultToolkit().beep();copy.setEnabled(true);setCursor(null);}}public void propertyChange(PropertyChangeEvent evt){if("progress" == evt.getPropertyName()){int progress = (Integer) evt.getNewValue();progressBar.setValue(progress);}}private void start(){task = new Task();task.addPropertyChangeListener(this);task.execute();setTitle("正在拷贝...");setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));}private static void createAndShowGUI(){Bar frame = new Bar("Bar");frame.setAlwaysOnTop(true);frame.setSize(280, 60);frame.setResizable(false);frame.setLocationRelativeTo(null);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}public static void main(String args){javax.swing.SwingUtilities.invokeLater(new Runnable(){public void run(){createAndShowGUI();}});}}

java 程序无法关闭窗口!用dispose()无效

改成这样,你看看:import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.*; import java.awt.event.*; import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;import javax.xml.ws.Dispatch; public class Progress_bar extends JFrame implements ActionListener { private static final long serialVersionUID = -2543187469376323631L;//ActionListener ,ChangeListener是 2个实现进度条的 接口 private JPanel panel; private Timer timer; private JButton btn; private JProgressBar pgb; private JLabel label; JFrame frame; public void init() { panel = new JPanel(); btn = new JButton("start"); btn.addActionListener(this); panel.add (btn,BorderLayout.CENTER); timer = new Timer(1,this);//控制进度条速度 pgb = new JProgressBar();//可视化进度条(显示进度条) pgb.setOrientation (JProgressBar.HORIZONTAL); pgb.setMaximum (100);//显示已完成多少(到多少) pgb.setMinimum (0);//显示已完成多少(从多少开始) pgb.setValue (0);//将进度条的当前值设置为 0 pgb.setStringPainted (true);//设置 stringPainted 属性的值, //该属性确定进度条是否应该呈现进度字符串。 pgb.setPreferredSize (new Dimension(400,80)); //Dimension 类封装单个对象中组件的宽度和高度(好像没什么 用) label = new JLabel("正在启动QQ...");//创建一个标示(用于显示进度文字的显示) frame = new JFrame("test"); frame.add (panel,BorderLayout.SOUTH); frame.add (pgb,BorderLayout.CENTER); frame.add (label,BorderLayout.NORTH); frame.setBounds(450, 300, 350, 100);//设置窗体长和宽 frame.setVisible (true);//显示窗体 frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);//关闭有效 } public static void main(String args) { new Progress_bar().init (); //执行 程序 } public void actionPerformed(ActionEvent e) { if(e.getSource ()==btn) { timer.start (); } if(e.getSource ()==timer) { int value = pgb.getValue () ; if(value《100) { value++; pgb.setValue (value); } if(value ==100) { timer.stop (); pgb.setValue (0); frame.setVisible(false); frame.dispose(); } } } }

java实现进度条

给你改了,自己再整理一下代码吧,好乱.......import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JProgressBar;public class JProgressTest extends JFrame implements ActionListener, Runnable { /** * @param args */ JProgressBar jb; JButton jbu; boolean flag = false; int i = 0; JProgressTest() { JPanel jp = new JPanel(); jb = new JProgressBar(0, 100); jbu = new JButton("运行"); jp.add(jb); add(jp, BorderLayout.CENTER); add(jbu, BorderLayout.SOUTH); this.setSize(200, 100); this.setVisible(true); jbu.addActionListener(this); System.out.println("start"); jb.setValue(0); jb.setStringPainted(true); } public void run() { while(i《=99){// System.out.println("run方法里!"); jb.setValue(++i); try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } // jb.setStringPainted(true); } // System.out.println("走出RUN方法!"); System.out.println("fuck"); } public void actionPerformed(ActionEvent e) { // this.run(); this.flag = true; // System.out.println(this); Thread t = new Thread(this); // t.run(); t.start();// while (i 《= 99) {// System.out.println("start");// this.run();// // this.repaint();// try {// t.sleep(1000);// } catch (InterruptedException evt) {// // TODO Auto-generated catch block// evt.printStackTrace();// }// } } public static void main(String args) { // TODO Auto-generated method stub JProgressTest jt = new JProgressTest(); }}

java的进度条问题 这个程序如何实现一运行程序进度条就自动走 谢谢

public class NewJFrame extends javax.swing.JFrame implements ActionListener, ChangeListener { public NewJFrame() { initComponents(); Timer timer = new Timer(50, this); timer.setRepeats(true); timer.start(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // 《editor-fold defaultstate="collapsed" desc="Generated Code"》 private void initComponents() { jPanel1 = new javax.swing.JPanel(); jProgressBar1 = new javax.swing.JProgressBar(); jLabel1 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setAlwaysOnTop(true); getContentPane().setLayout(new java.awt.CardLayout()); jPanel1.setPreferredSize(new java.awt.Dimension(600, 350)); jPanel1.setVerifyInputWhenFocusTarget(false); jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jPanel1.add(jProgressBar1, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 294, 270, 10));// jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/splashTimer.jpg"))); // NOI18N jLabel1.setMaximumSize(new java.awt.Dimension(600, 350)); jLabel1.setMinimumSize(new java.awt.Dimension(600, 350)); jLabel1.setPreferredSize(new java.awt.Dimension(600, 350)); jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1)); getContentPane().add(jPanel1, "card2"); pack(); }// 《/editor-fold》 /** * @param args the command line arguments */ public static void main(String args) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new NewJFrame().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JLabel jLabel1; private javax.swing.JPanel jPanel1; private javax.swing.JProgressBar jProgressBar1; // End of variables declaration public void stateChanged(ChangeEvent e1) { int value = jProgressBar1.getValue(); if (e1.getSource() == jProgressBar1) { } } public void actionPerformed(ActionEvent e) { int value = jProgressBar1.getValue(); if (value 《 100) { value++; jProgressBar1.setValue(value); } else { jProgressBar1.setValue(0); } }}终于看到个用netbeans的人了。。

JAVA 进度条

直接上官方示例

import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.beans.*;import java.util.Random; public class ProgressBarDemo extends JPanel                             implements ActionListener,                                        PropertyChangeListener {     private JProgressBar progressBar;    private JButton startButton;    private JTextArea taskOutput;    private Task task;     class Task extends SwingWorker《Void, Void》 {        /*         * Main task. Executed in background thread.         */        @Override        public Void doInBackground() {            Random random = new Random();            int progress = 0;            //Initialize progress property.            setProgress(0);            while (progress 《 100) {                //Sleep for up to one second.                try {                    Thread.sleep(random.nextInt(1000));                } catch (InterruptedException ignore) {}                //Make random progress.                progress += random.nextInt(10);                setProgress(Math.min(progress, 100));            }            return null;        }         /*         * Executed in event dispatching thread         */        @Override        public void done() {            Toolkit.getDefaultToolkit().beep();            startButton.setEnabled(true);            setCursor(null); //turn off the wait cursor            taskOutput.append("Done!\n");        }    }     public ProgressBarDemo() {        super(new BorderLayout());         //Create the demo’s UI.        startButton = new JButton("Start");        startButton.setActionCommand("start");        startButton.addActionListener(this);         progressBar = new JProgressBar(0, 100);        progressBar.setValue(0);        progressBar.setStringPainted(true);         taskOutput = new JTextArea(5, 20);        taskOutput.setMargin(new Insets(5,5,5,5));        taskOutput.setEditable(false);         JPanel panel = new JPanel();        panel.add(startButton);        panel.add(progressBar);         add(panel, BorderLayout.PAGE_START);        add(new JScrollPane(taskOutput), BorderLayout.CENTER);        setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));     }     /**     * Invoked when the user presses the start button.     */    public void actionPerformed(ActionEvent evt) {        startButton.setEnabled(false);        setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));        //Instances of javax.swing.SwingWorker are not reusuable, so        //we create new instances as needed.        task = new Task();        task.addPropertyChangeListener(this);        task.execute();    }     /**     * Invoked when task’s progress property changes.     */    public void propertyChange(PropertyChangeEvent evt) {        if ("progress" == evt.getPropertyName()) {            int progress = (Integer) evt.getNewValue();            progressBar.setValue(progress);            taskOutput.append(String.format(                    "Completed %d%% of task.\n", task.getProgress()));        }    }      /**     * Create the GUI and show it. As with all GUI code, this must run     * on the event-dispatching thread.     */    private static void createAndShowGUI() {        //Create and set up the window.        JFrame frame = new JFrame("ProgressBarDemo");        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         //Create and set up the content pane.        JComponent newContentPane = new ProgressBarDemo();        newContentPane.setOpaque(true); //content panes must be opaque        frame.setContentPane(newContentPane);         //Display the window.        frame.pack();        frame.setVisible(true);    }     public static void main(String args) {        //Schedule a job for the event-dispatching thread:        //creating and showing this application’s GUI.        javax.swing.SwingUtilities.invokeLater(new Runnable() {            public void run() {                createAndShowGUI();            }        });    }}

如果你还想了解更多这方面的信息,记得收藏关注本站。

java进度条不关闭(我安装jdk的时候,到了安装java那一步,进度条卡住不动了,官网下的jdk安装包)

本文编辑:admin
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.