[JavaSwing] LEFTとLEADINGの違い, RIGHTのVA TRAILING

あなたは既にレイアウト内のオブジェクトの余白を揃える方法について知っているように, 特にポストに FlowLayoutの それを述べました. 新しい使用は区別しないとき LEFTとLEADINGの違い, RIGHTのVA TRAILING. この記事では、我々はそれを学習します.

でも、私たちの目的は、コンテナ内に配置されています (ComponentOrientationを) 左から右、上から下/ LA, FlowLayoutのでは左から右です。. 我々は検討します 2 次の例:

川崎重工ComponentOrientationをLaが左から右へ

次の例では、作成します。 1 JPanelの (メインパネル) 含みます 5 JPanelの (項目パネル), 各項目は、パネルを配置されます FlowLayoutの 別の整列とのJLabelを含むと (テキストとアイコンで) それらの配置を示すために、.

package Align;

import java.awt.ComponentOrientation;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class MyOrientation extends JFrame {

	public MyOrientation() {
		createJFrame();
	}

	private void createJFrame() {
		setTitle("Orientation left to right");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(500, 500);

		// add content to JFrame
		add(createMainPanel());

		setLocationRelativeTo(null);
		setVisible(true);
	}

	private JPanel createMainPanel() {
		// create main panel
		JPanel panel = new JPanel(new GridLayout(5, 1, 5, 5));
		// add panels item with align
		panel.add(cereateItemPanel(FlowLayout.LEFT, "LEFT"));
		panel.add(cereateItemPanel(FlowLayout.CENTER, "CENTER"));
		panel.add(cereateItemPanel(FlowLayout.RIGHT, "RIGHT"));
		panel.add(cereateItemPanel(FlowLayout.LEADING, "LEADING"));
		panel.add(cereateItemPanel(FlowLayout.TRAILING, "TRAILING"));
		return panel;
	}

	// create JPanel with align and JLabel title
	private JPanel cereateItemPanel(int align, String title) {
		// create JPanel
		JPanel panel = new JPanel(createFlowLayout(align));
		// set Component Orientation
		panel.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
		// add JLabel
		panel.add(createJLabel(title));
		return panel;
	}

	// create FlowLayout with align
	private FlowLayout createFlowLayout(int algin) {
		FlowLayout layout = new FlowLayout();
		layout.setAlignment(algin);
		return layout;
	}

	// create JLabel with title and icon
	private JLabel createJLabel(String title) {
		JLabel lb = new JLabel(title);
		// get icon for JLabel
		Icon icon = new ImageIcon(getClass().getResource("7826.png"));
		lb.setIcon(icon);
		// set location for text label
		lb.setHorizontalTextPosition(JLabel.CENTER);
		lb.setVerticalTextPosition(JLabel.BOTTOM);
		return lb;
	}

	public static void main(String[] args) {
		new MyOrientation();
	}
}

左とリーディング, 右と末尾
我々は最初の画像を取得します. あなたは私達は一流LEFTと全く同じ下アライメントに設定問題の説明を受けていない見ることができます, 全く異なるRIGHT後続ありません. しかし、これだけでは唯一の最初のステップです, モードによってのJPanelのレイアウトを変更してください setComponentOrientation 私は2番目としてRIGHT_TO_LEFTに取得し、答えは明らかにされています.

私たちは、LEFTを理解することができますし、右から左余白に進行中で適切に整列されています, 絶対的な権利, 先頭と末尾も、左マージンをかけています, それを容器の縁を配置することに頼ることが相対. ときに構成されたことのコンテナ (オリエンテーション) LEADINGが残されているされているLEFT_TO_RIGHT, 末尾が正しいです, LEADING RIGHT_TO_LEFTが正しいときの向きでもあります, 左の末尾.