基于Java的堆栈GUI
我正在使用Java制作一个堆栈的GUI。这是我的密码基于Java的堆栈GUI,java,swing,user-interface,Java,Swing,User Interface,我正在使用Java制作一个堆栈的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.addActionListen
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)一切正常。我没有得到任何错误。但是在编译之后,我没有得到想要的结果。工具栏(tb)无法添加按钮(b1、b2等)如果在呈现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使用了什么布局管理器?如何初始化
tb
私有javax.swing.JToolBar tb;这不是初始化,而是声明。通常您不会直接向JToolBar添加按钮。推荐的方法是使用JToolBar.add(Action a)来添加Actions在运行时是否有异常?我还有一个问题。当我的窗口的最大化按钮打开时,我想调整工具栏的大小pressed@rick:您的JFrame的内容窗格可能正在使用BorderLayout,因此您只需将工具栏添加到BorderLayout.NORTH位置(也称为BorderLayout.PAGE_START positino)的内容窗格中即可。