Я делаю графический интерфейс для стека с помощью Java. Вот мой код
private void StackActionPerformed(java.awt.event.ActionEvent evt)
{
b1=new JButton("Push");
b2=new JButton("Pop");
b3=new JButton("Peek");
b4=new JButton("Clear");
b1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pushButtonActionPerformed(evt);
}
});
tb.add(b1);
tb.add(b2);
tb.add(b3);
tb.add(b4);
frame_st.add(tb);
frame_st.setExtendedState(Frame.MAXIMIZED_BOTH);
}
Здесь я добавляю кнопки на свою панель инструментов (tb), все работает нормально. Я не получаю никаких сообщений об ошибках. Но после компиляции не получаю желаемого результата. toolBar (tb) не может добавлять кнопки (b1, b2 и т. д.)
1 ответ
Если вы добавляете компоненты после визуализации графического интерфейса, не забудьте повторно проверить и перерисовать контейнеры после того, как вы изменили компоненты, которые они содержат.
private void StackActionPerformed(java.awt.event.ActionEvent evt)
{
b1=new JButton("Push");
b2=new JButton("Pop");
b3=new JButton("Peek");
b4=new JButton("Clear");
b1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pushButtonActionPerformed(evt);
}
});
tb.add(b1);
tb.add(b2);
tb.add(b3);
tb.add(b4);
frame_st.add(tb);
frame_st.setExtendedState(Frame.MAXIMIZED_BOTH);
JPanel contentPane = (JPanel)frame.getContentPane();
contentPane.revalidate();
contentPane.repaint();
}
Также важно, какие менеджеры компоновки используют ваши tb JPanel и JFrame contentPane?
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.
tb
?