BorderLayout的();按钮没有显示出来

时间:2015-09-21 11:22:36

标签: java swing border-layout

嘿伙计们我的按钮和textarea在编译时不会在JFrame上显示,我已经尝试了所有内容并搜索了这个网站但没有运气。任何帮助将不胜感激。由于他们没有让我发布没有更多的细节我只是添加这部分,所以我可以点击提交按钮。

$("input[type=checkbox]:checked").length

1 个答案:

答案 0 :(得分:4)

您将JButtons添加到jPan JPanel但从未将jPan添加到任何内容 - 必须将其添加到您的JFrame,才能看到this

jPan.add(sortNameButton);
jPan.add(sortTotalButton);
jPan.add(searchTextField);
jPan.add(statisticsButton);
jPan.add(exitButton);
jPan.add(infoTextArea);

add(jPan);  // don't forget this! ************

注意其他问题:

  • 您将JFrame的布局设置为BorderLayout - 它的已经使用BorderLayout
  • 使用BorderLayout常量向jPan JPanel添加组件,但使用BorderLayout
  • 如果是的话,很多按钮都不会被看到,因为很多按钮被添加到相同的 BorderLayout位置,并且会覆盖那里添加的前一个组件。

换句话说,在您做出错误的假设时阅读教程。

更好的是:

    // setLayout(new BorderLayout());
    jPan.setLayout(new BorderLayout());

    JPanel northPanel = new JPanel();  // **** to hold buttons

    northPanel.add(sortNameButton);
    northPanel.add(sortTotalButton);
    northPanel.add(searchTextField);
    northPanel.add(statisticsButton);
    northPanel.add(exitButton);

    jPan.add(northPanel, BorderLayout.PAGE_START);
    jPan.add(infoTextArea, BorderLayout.CENTER);