【问题标题】:Auto create JLabels should be under themselves自动创建 JLabels 应该在他们自己下面
【发布时间】:2013-07-17 21:27:00
【问题描述】:

我有一个自动创建 jlabels 的代码。

我希望每个label 应该在一行,而不是在旁边!

我使用这个代码:

            lbl = new JLabel[rows];
        for (int i = 0; i < rows; i++) {
            lbl[i] = new JLabel(arrayResultRow[i].toString()+ "\n" );
        }

但是\n 不行!

【问题讨论】:

    标签: java swing jlabel


    【解决方案1】:

    Google 并学习 Java Swing 布局管理器教程并开始阅读。

    您可能正在将 JLabels 添加到默认使用 FlowLayout 的 JPanel,并且您需要将容器的布局更改为 GridLayout 或 BoxLayout。

    编辑:这是链接:Laying out Components

    即,

    // add JLabels to a JPanel that uses GridLayout set to have
    // 1 column and "rows" number of rows.
    JPanel labelHolder = new JPanel(new GridLayout(rows, 1);
    lbl = new JLabel[rows];
    for (int i = 0; i < rows; i++) {
      lbl[i] = new JLabel(arrayResultRow[i].toString());
      labelHolder.add(lbl[i]);
    }
    

    【讨论】:

    • 我的全班是这样的:stackoverflow.com/questions/17595816/…
    • @Sajjad-:是的,您正在使用 FlowLayout。不。我想我认识到您的代码风格,因为您正在编写对字段有副作用的方法,这是应该避免的。您在此处之前的问题中发布的代码中执行此操作。
    • 是的,效果很好!谢谢!
    • 我想将mysql 数据库数据显示到jtable 中,现在我正在尝试执行此操作,你能给我举个例子吗?
    • @Sajjad- 举个例子?一个 JTable?为了我的钱,我会在谷歌上搜索 JTable 教程并从那里开始。
    猜你喜欢
    • 2016-05-18
    • 2017-11-27
    • 2012-07-27
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 2014-05-07
    相关资源
    最近更新 更多