java 进度条 百分比_java怎么让进度条带百分数

java 进度条 百分比_java怎么让进度条带百分数展开全部publicvoidsetString(Strings)设置进度字符串的值。默认情况下,此字符串为null,隐含使用简单百分比字符串的内置行为62616964757a686964616fe78988e69d8331333264623135。如果已提供自定义进度字符串并要转换回内置状态,将字符串设置回null即可。仅当isStringPainted方法返回true时绘制进…

展开全部

public void setString(String s)

设置进度字符串的值。默认情况下,此字符串为 null,隐含使用简单百分比字符串的内置行为62616964757a686964616fe78988e69d8331333264623135。如果已提供自定义进度字符串并要转换回内置状态,将字符串设置回 null 即可。

仅当 isStringPainted 方法返回 true 时绘制进度字符串。

参数:

s – 进度字符串的值

另请参见:

getString(), setStringPainted(boolean), isStringPainted()

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 {

/*

* 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();

}

});

}

}

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

今天的文章java 进度条 百分比_java怎么让进度条带百分数分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/27637.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注