将多个小面板添加到框架中

时间:2014-09-30 17:36:47

标签: java swing jpanel layout-manager null-layout-manager

我试图在java中创建一个简单的界面,但我有一个问题,即在框架中添加多个面板。我希望它是一个咖啡馆软件,所以会有多个表。这是我的代码

public class CafeView extends JFrame{

private JButton takeMoneyBtn = new JButton("Hesabı Al");

public CafeView(){
    JPanel table1 = new JPanel();
    this.setSize(800,600);
    this.setLocation(600, 200);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);

    table1.setBounds(100, 100, 150, 150);
    table1.setLayout(null);
    this.add(table1);
    table1.add(takeMoneyBtn);

}
}

当我运行它时,我只看到一个空框架。在这段代码中我只是尝试添加一个简单的面板,如果我能做到这一点我也可以添加其他我认为。所以我怎么能解决它并添加小和许多面板成一个框架,我缺少什么?谢谢你的帮助。(没有一个主要的方法,因为我从另一个类调用这个接口类。)

2 个答案:

答案 0 :(得分:1)

我会使用LayoutManager放置所有控件并直接访问内容窗格。 How to use FlowLayout

public class CafeView extends JFrame{

private JButton takeMoneyBtn = new JButton("Hesabı Al");

public CafeView(){
    JPanel table1 = new JPanel();
    this.setSize(800,600);
    this.setLocation(600, 200);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container c = this.getContentPanel();
    c.setLayout(new FlowLayout());

    c.add(table1);
    c.add(takeMoneyBtn);
    //c.add() more stuff..

    this.setVisible(true);
    }
}

答案 1 :(得分:1)

您正在使用JPanel安排组件的位置.setBounds(..,..),您应该将其用于顶级容器JFrame,{{ 1}},JWindowJDialog。)不是JApplet。 所以删除:

JPanel

我们由table1.setBounds(100, 100, 150, 150); 提供以安排组件,请参阅LayoutManager

LayoutManager
相关问题