【问题标题】:How to change FlowLayout to BoxLayout in JFrame如何在 JFrame 中将 FlowLayout 更改为 BoxLayout
【发布时间】:2015-01-21 13:51:20
【问题描述】:

我已经为此工作了一段时间,但我这辈子什么也做不了。我正在尝试将按钮和标签设置为彼此叠加而不是并排设置。我想我必须将布局表单 FlowLayout 更改为 BoxLayout 但我不知道该怎么做。这是我目前所拥有的。

import javax.swing.JFrame;

public class VoteCounter
{
    //----------------------------------------------
    // Creates the main program frame.
    //----------------------------------------------
    public static void main(String[] args)
{
    JFrame frame = new JFrame("Vote Counter");

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(new VoteCounterPanel());
    frame.pack();
    frame.setVisible(true);
}
}

任何帮助将不胜感激。

【问题讨论】:

  • 为了尽快获得更好的帮助,请发布MCVE(最小完整可验证示例)或SSCCE(简短、自包含、正确示例)。

标签: java swing layout-manager boxlayout flowlayout


【解决方案1】:
frame.setLayout(new BoxLayout(frame, BoxLayout.PAGE_AXIS));

很简单。

更多信息请参考:http://docs.oracle.com/javase/tutorial/uiswing/layout/box.html

【讨论】:

    【解决方案2】:

    JPanel 的默认布局是 FlowLayout。您可以更改面板的布局,例如:

    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(null,BoxLayout.Y_AXIS));
    

    这是一个使用 BoxLayout 的示例:

    choosing the best Layout for this jframe

    另外,您可以使用 BoxLayout 设置空白:

    https://stackoverflow.com/a/22525005/3378204

    希望对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-10
      • 2013-06-02
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多