我使用Java制作Stack的GUI。这是我的代码
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);
}
这里我向我的toolBar添加按钮(tb)一切正常。我没有收到任何错误。但编译后我没有得到理想的结果。 toolBar(tb)无法添加按钮(b1,b2等)
答案 0 :(得分:2)
如果您在渲染GUI后添加组件,请不要忘记在更改其所持有的组件后重新验证并重新绘制容器。
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使用的布局管理器是什么?