Java 在BoxLayout中将JLabel与JScrollPane对齐
我试图将一个JLabel和一个JScrollPane(包含一个JTextArea)对齐到JPanel的左侧。当我将JTextArea直接放在面板中时,对齐是正确的。只有当JTextArea位于滚动窗格中时,对齐才不正确Java 在BoxLayout中将JLabel与JScrollPane对齐,java,swing,alignment,jscrollpane,boxlayout,Java,Swing,Alignment,Jscrollpane,Boxlayout,我试图将一个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.JScrollPa
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);
}
}
下面的第一个图像带有滚动窗格,第二个图像没有滚动窗格。如何正确对齐滚动窗格
尝试使用
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);
}
}
尝试使用
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);
}
}
替换:
panel.add(new JLabel("My Label"));
作者:
替换:
panel.add(new JLabel("My Label"));
作者: