swing 界面底部状态栏,附简单易懂实例,在线等,三日内结帖 10
展开全部
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();
}
}
加一个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) {
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询