如何在 jprogressbar 上添加文本?
Posted
技术标签:
【中文标题】如何在 jprogressbar 上添加文本?【英文标题】:How to add text on jprogressbar? 【发布时间】:2012-07-31 08:49:48 【问题描述】:我正在使用 jprogressbar 来指示可用性状态。 我想在进度条内显示 40%[假设] 的文本。 怎么做?根据可用性值更改了文本
【问题讨论】:
【参考方案1】:你可以使用:
初始化:
progressBar.setStringPainted(true);
更新:
progressBar.setValue(newValue);
【讨论】:
不需要这一行:progressBar.setString(newValue + "%"); setString 行对于想要显示百分比以外的内容的人可能会有所帮助。它帮助了我:)【参考方案2】:使用setStringPainted(true)
显示已完成工作的百分比。
使用setValue()
,这将有助于设置增量值和setString()
,以便在完成后显示结束消息...
这是我的代码库中的一个示例:
final JProgressBar bar = new JProgressBar(0 , 100); // 0 - min , 100 - max
bar.setStringPainted(true);
panel.add(bar); // panel is a JPanel's Obj reference variable
JButton butt = new JButton("start");
butt.addActionListener()
public void actionPerformed()
new Thread(new Runnable()
public void run()
int x = 0;
while(x<=100)
x++;
bar.setValue(x); // Setting incremental values
if (x == 100 )
bar.setString("Its Done"); // End message
try
Thread.sleep(200);
catch(Exception ex)
).start();
);
【讨论】:
SwingWorker 更好、更舒适、更简单【参考方案3】:我正在使用 jprogressbar 来指示可用性状态。
请阅读tutorial about JProgressBar
我想在进度条内显示 40%[假设] 的文本。
JProgressBar 教程中的Using Determinate Progress Bars
怎么做?根据可用性值更改了文本
更多内容请关注SwingWorker tutorial
【讨论】:
【参考方案4】:这将显示栏内的进度
progressBar.setStringPainted(true);
【讨论】:
【参考方案5】:这显示进度条内的进度百分比
progressBar.setStringPainted(true);
【讨论】:
【参考方案6】:我不清楚您的[assumption]
是否是您要显示的字符串的一部分。如果是这样,完整的解决方案将类似于:
private static final String PROGRESS_MASK = "%d%% [assumption]";
public void someMethod()
...
progressBar.addChangeListener(new ChangeListener()
@Override
void stateChanged(ChangeEvent e)
progressBar.setString(String.format(PROGRESS_MASK,
progressBar.getValue()));
progressBar.setStringPainted(true);
...因为您将无法依赖仅显示百分比的默认字符串。
【讨论】:
【参考方案7】:您应该在这里注意两件事。那些是,
1) 您必须使用 setStringPainted 方法设置 JProgressBar 的paintString 变量。你可以这样做
jprogressBar.setStringPainted(true)
你必须这样做,因为,
isStringPainted()
如果进度条必须显示其上的值或进度百分比,则方法应返回 true。
2) 现在使用您的自定义值进行自定义,使用
在 jprogressBar 实例上设置您的自定义jprogressBar.setString(customString)
那么它应该可以正常工作。
【讨论】:
【参考方案8】:这里是教程链接,它显示了如何根据进度条的状态设置值(即 10% 或 40%...)http://docs.oracle.com/javase/tutorial/uiswing/components/progress.html
【讨论】:
以上是关于如何在 jprogressbar 上添加文本?的主要内容,如果未能解决你的问题,请参考以下文章
JTable的TableColumn添加多个JProgressBar
如何将 JProgressBar 设置为音频文件的持续时间?