Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javaswing中的stackgui_Java_Swing_User Interface_Stack - Fatal编程技术网

javaswing中的stackgui

javaswing中的stackgui,java,swing,user-interface,stack,Java,Swing,User Interface,Stack,我正在创建一个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");

我正在创建一个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);
    revalidate();
    repaint();
    frame_st.setSize(1022, 534);
    drawstack();

}                                     
public void drawstack()
{
    m1.setBorder(BorderFactory.createRaisedSoftBevelBorder());
    m1.setBackground(Color.white);
    m1.setLayout(null);
    JLabel l1=new JLabel("STACK");
    l1.setBounds(500, 5, 100, 70);
    m1.add(l1); 
}
我的代码正在完全编译drawstack()正在绘制所需的内容,但由于drawstack()被称为我的按钮,它出现在StackActionPerformed(java.awt.event.ActionEvent evt)中,即b1、b2等变得不可见。我不想发生这种事。我希望我的按钮始终可见。请帮忙。
m1是一个覆盖我整个框架的面板。

我猜你把
m1
放在按钮的顶部(和
frame\u st
)。我会直接把按钮放在m1上。像这样的窗口是容器对象。他们有(子)集装箱放在上面,还有(子)(子)集装箱放在上面等等。。您需要了解特定标高上的所有容器是如何在其父容器上进行布局的。如果它们重叠而不是相邻,那么您就有问题了

我发现了最有用、最简单的窗口布局类,我向您推荐它。在你的整个窗户上放一个垂直的盒子。然后将
frame\u st
制作成一个水平框,将其添加到垂直框中,然后像现在一样添加按钮。然后将
m1
,不管它是什么,也添加到垂直框中,您应该可以开始了


javax.swing.Box并不是世界上所有问题的解决方案,但它应该让您开始。一旦你的按钮显示出来,你可以尝试其他东西。

你的问题无法回答。什么是m1?它与上面代码中显示的其他组件有什么关系?m1是一个面板,它覆盖了我的整个系统frame@HovercraftFullOfEels我已经提到了“m1”是什么为了更快地获得更好的帮助,发布一个。1)在您最喜欢的IDE中编写一个。2)来吧,编辑您的问题并发布代码