Я нахожусь в процессе создания приложения Java и хотел бы иметь панель в нижней части приложения, в котором я отображаю текстовую панель и состояние (прогресс) панель.
Только я, может казаться, не нахожу управление в NetBeans, и при этом я не знаю, что код создает во вручную.
Создайте JFrame или JPanel с BorderLayout укажите что-то вроде 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);
Вот результат использования приведенного выше штрих-кода состояния на моем компьютере:
Я бы порекомендовал компонент строки состояния в библиотеке SwingX - Документация по API для строки состояния находится здесь
Хороший пример ее использования - здесь.
Удачи.
К сожалению, 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 / create-a-status-bar.html
Я использовал библиотеку Swing из L2FProd . Библиотека строки состояния, которую они предоставили, очень хороша.
Ниже описано, как вы могли бы его использовать:
Строка состояния внутренне делит область панели на зоны. Каждая зона может содержать компонент (JLabel, JButton и т. Д.). Идея состоит в том, чтобы заполнить планку необходимыми зонами и компонентами.
Создайте экземпляр строки состояния, как показано ниже ....
import java.awt.Component;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import com.l2fprod.common.swing.StatusBar;
StatusBar statusBar = новый StatusBar ();
statusBar.setZoneBorder (BorderFactory.createLineBorder (Color.GRAY));
statusBar.setZones (
новая строка [] {"первая_зона", "вторая_зона", "оставшиеся_зоны"},
новый компонент [] {
новый JLabel ("первый"),
новый JLabel ("второй"),
новый JLabel ("оставшийся")
},
новая строка [] {"25%", "25%", "*"}
);
Теперь добавьте указанную выше statusBar
на главную панель, которая у вас есть (BorderLayout и установите ее на южную сторону).
См. Пример снимка экрана из одного из приложений, над которым я работаю здесь (у него 2 зоны). Сообщите мне, если у вас возникнут проблемы ....