swing 界面底部状态栏,附简单易懂实例,在线等,三日内结帖 10

要求在界面的底部最下层类似于进度条比如百度上打开一个东西显示的进度... 要求在界面的底部最下层
类似于进度条
比如百度上打开一个东西显示的进度
展开
 我来答
百度网友845f74e61
推荐于2016-05-15 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1648万
展开全部
Java本身并没有那样的东西。都是在底下添加控件。
加一个panel或是JToolBar
------------------------------------------------------------
import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import javax.swing.JToolBar;

public class Table extends JFrame {

public Table() {
setResizable(false);

getContentPane().setLayout(null);

JToolBar toolBar = new JToolBar();
toolBar.add(new JLabel("state"));
toolBar.add(new JProgressBar());
toolBar.setFloatable(false);
toolBar.setBounds(0, 253, 454, 15);
getContentPane().add(toolBar);

// 窗口属性的设置
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(460, 300);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screenSize.width - getWidth()) / 2,
(screenSize.height - getHeight()) / 2);
setVisible(true);
}

public static void main(String[] args) {
new Table();
}
}
追问
那如何显示它的进度。
我的界面有别的按钮,按钮中有相关监听。
如何用状态栏显示我登录按钮完成方法的进度?
追答
要想使进度条动起来,需要用到线程。
下边是例子,只是让它动了起来,怎么控制进度,就和你的实现有关了。

import java.awt.Dimension;

public class Table extends JFrame implements Runnable {

private JProgressBar progress = new JProgressBar();

public Table() {
setResizable(false);

getContentPane().setLayout(null);

JToolBar toolBar = new JToolBar();
toolBar.add(new JLabel("state"));
toolBar.add(progress);
toolBar.setFloatable(false);
toolBar.setBounds(0, 253, 454, 15);
getContentPane().add(toolBar);

JButton btnLogin = new JButton("login");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
login();
}
});
btnLogin.setBounds(12, 10, 91, 21);
getContentPane().add(btnLogin);

// 窗口属性的设置
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(460, 300);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screenSize.width - getWidth()) / 2,
(screenSize.height - getHeight()) / 2);
setVisible(true);
}

public static void main(String[] args) {
new Table();
}

private void login() {
new Thread(this).start();
}

public void run() {
int value = 0;
while (progress.getValue() != progress.getMaximum()) {
try {
progress.setValue(value++);
Thread.sleep(50);
} catch (Exception e) {

}
}
}
}
bd9006
2011-12-29 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
用两个重叠的JLabel都可以了,一个作底色、一个作前景色。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式