如何在 Java 应用程序的底部创建一个栏,比如一个状态栏?
我正在创建一个Java应用程序,并希望在应用程序的底部有一个栏,在其中显示一个文本栏和一个状态(进度)栏。
只有我似乎无法在 NetBeans 中找到控件,也不知道要手动创建的代码。
我正在创建一个Java应用程序,并希望在应用程序的底部有一个栏,在其中显示一个文本栏和一个状态(进度)栏。
只有我似乎无法在 NetBeans 中找到控件,也不知道要手动创建的代码。
使用 BorderLayout 创建一个 JFrame 或 JPanel,给它一个类似于 BevelBorder 或线条边框的东西,这样它就与其余内容分开,然后在 BorderLayout.SOUTH 上添加状态面板。
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.setSize(200, 200);
// create the status bar panel and shove it down the bottom of the frame
JPanel statusPanel = new JPanel();
statusPanel.setBorder(new BevelBorder(BevelBorder.LOWERED));
frame.add(statusPanel, BorderLayout.SOUTH);
statusPanel.setPreferredSize(new Dimension(frame.getWidth(), 16));
statusPanel.setLayout(new BoxLayout(statusPanel, BoxLayout.X_AXIS));
JLabel statusLabel = new JLabel("status");
statusLabel.setHorizontalAlignment(SwingConstants.LEFT);
statusPanel.add(statusLabel);
frame.setVisible(true);
这是我的机器上上述状态条形码的结果:
不幸的是,Swing 没有对 StatusBars 的原生支持。您可以使用和标签或您需要在底部显示的任何内容:BorderLayout
public class StatusBar extends JLabel {
/** Creates a new instance of StatusBar */
public StatusBar() {
super();
super.setPreferredSize(new Dimension(100, 16));
setMessage("Ready");
}
public void setMessage(String message) {
setText(" "+message);
}
}
然后在主面板中:
statusBar = new StatusBar();
getContentPane().add(statusBar, java.awt.BorderLayout.SOUTH);
寄件人: http://www.java-tips.org/java-se-tips/javax.swing/creating-a-status-bar.html