import javax.swing.JProgressBar; //导入方法依赖的package包/类
public StatusBar(boolean showProgressBar) {
GridBagLayout layout = new GridBagLayout();
setLayout(layout);
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 1;
constraints.gridwidth = 1;
constraints.insets = new Insets(0, 5, 0, 0);
layout.setConstraints(operatorLabel, constraints);
add(operatorLabel);
constraints.weightx = 0;
constraints.fill = GridBagConstraints.NONE;
constraints.gridwidth = GridBagConstraints.RELATIVE;
constraints.insets = new Insets(0, 0, 1, 5);
progressBar = new JProgressBar() {
private static final long serialVersionUID = 1L;
@Override
public Dimension getPreferredSize() {
Dimension size = super.getPreferredSize();
return new Dimension(500, size.height + 5);
}
@Override
public boolean isStringPainted() {
// the status bar progress bar needs to be of the same height regardless so we
// always pretend we paint the label because that affects its height
return true;
}
};
progressBar.putClientProperty(RapidLookTools.PROPERTY_PROGRESSBAR_COMPRESSED, true);
if (showProgressBar) {
progressBar.setStringPainted(false);
progressBar.setEnabled(false);
progressBar.setOpaque(false);
progressBar.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
if (!ProgressThreadDialog.getInstance().isVisible()) {
ProgressThreadDialog.getInstance().setVisible(true, true);
}
}
}
});
layout.setConstraints(progressBar, constraints);
add(progressBar);
}
}