【问题标题】:Aligning a JLabel with a JScrollPane in a BoxLayout将 JLabel 与 BoxLayout 中的 JScrollPane 对齐
【发布时间】:2013-02-04 12:19:04
【问题描述】:

我正在尝试将 JLabel 和 JScrollPane(包含 JTextArea)与 JPanel 的左侧对齐。当我将 JTextArea 直接放在面板中时,对齐是正确的。仅当 JTextArea 在滚动窗格中时,对齐才会不正确。

import javax.swing.BoxLayout;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Main {

    public static void main(String[] args) {
        JDialog dialog = new JDialog();
        JPanel panel = new JPanel();
        panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
        panel.add(new JLabel("My Label"));
        // panel.add(new JTextArea(3, 15));
        panel.add(new JScrollPane(new JTextArea(3, 15)));
        dialog.add(panel);
        dialog.pack();
        dialog.setVisible(true);
    }
}

下面的第一张图片带有滚动窗格,第二张图片没有。如何正确对齐滚动窗格?

【问题讨论】:

    标签: java swing alignment jscrollpane boxlayout


    【解决方案1】:

    替换:

    panel.add(new JLabel("My Label"));
    

    作者:

    JPanel labelPan = new JPanel(new FlowLayout(FlowLayout.LEFT);
    labelPan.add(new JLabel("My Label"));
    panel.add(labelPan);
    

    【讨论】:

      【解决方案2】:

      尝试使用alignmentX:

      import java.awt.Component;
      
      import javax.swing.*;
      
      public class Main {
      
          public static void main(String[] args) {
              JDialog dialog = new JDialog();
              JPanel panel = new JPanel();
              panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
      
              JLabel label = new JLabel("My Label");
              label.setAlignmentX(Component.LEFT_ALIGNMENT);
              panel.add(label);
      
              JScrollPane pane = new JScrollPane(new JTextArea(3, 15));
              pane.setAlignmentX(Component.LEFT_ALIGNMENT);
              panel.add(pane);
      
              dialog.add(panel);
              dialog.pack();
              dialog.setVisible(true);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-20
        • 1970-01-01
        • 1970-01-01
        • 2015-10-02
        • 2014-04-30
        • 1970-01-01
        • 2012-11-06
        • 2017-05-20
        相关资源
        最近更新 更多