ホームページ  >  記事  >  Java  >  Java Spring Layout Manager の使用チュートリアル

Java Spring Layout Manager の使用チュートリアル

巴扎黑
巴扎黑オリジナル
2017-09-06 09:38:061763ブラウズ

この記事では主に Java スプリング レイアウト マネージャーの使い方について詳しく説明します。必要な方は参考にしてください。

SpringLayout クラスによって実装されるレイアウト マネージャーはスプリング レイアウト マネージャーと呼ばれます。このレイアウト マネージャーを使用してコンポーネントを管理すると、フォームのサイズが変更されたときに、コンポーネント間の相対的な位置を変更せずにコンポーネントのサイズが自動的に調整され、コンポーネントがフォーム全体に収まるようになり、全体的な効果が保証されます。フォーム。次に、スプ​​リング レイアウト マネージャーの使用方法と効果を例を使って見てみましょう。

Spring Layout Manager は、コンテナとコンポーネントのエッジを操作対象として、コンポーネントとコンテナのエッジ、およびコンポーネントとコンポーネントのエッジに制約を設定することでコンポーネントのレイアウトを管理しました。 putConstraint(String e1,Conponet c1,int Pad,String e2,Component c2) メソッドを通じて各エッジ間に制約を確立できます。 このメソッドのエントリ パラメータは次のように説明されます:

c1: 設定する必要があるコンポーネント オブジェクト。参照される;

c2: 参照される必要があるコンポーネント オブジェクトの特定のエッジ;

e2: 参照されるコンポーネント オブジェクトの特定の参照されるエッジ; 2 つのエッジ、つまり 2 つのコンポーネント間の間隔です。

少し複雑ですが、実際には理解するのは簡単です。

例 1: Spring Layout Manager の使用。

この例では、スプリング レイアウト マネージャーを使用してフォームのサイズを調整した後も、コンポーネントはフォーム全体を埋め続け、コンポーネント間の相対位置は変わりません。ソースコード:

import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.Spring;
import javax.swing.SpringLayout;


public class SpringLayout_3 extends JFrame {

	private static final long serialVersionUID = -6045918631932051025L;

	public SpringLayout_3() {
		// TODO Auto-generated constructor stub
		Container container = getContentPane();
		SpringLayout springLayout = new SpringLayout();
		container.setLayout(springLayout);
		JLabel topicLabel = new JLabel("主题 :");
		JLabel contentLabel = new JLabel("内容 :");
		final JTextField textField = new JTextField(30);
		JTextArea textArea = new JTextArea(3, 30);
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setViewportView(textArea);
		textArea.setLineWrap(true);
		final JButton confirmButton = new JButton("取消");
		JButton cancelButton = new JButton("确认");
		Spring st = Spring.constant(10);
		Spring st2 = Spring.constant(30);
		container.add(topicLabel);
		springLayout.putConstraint(SpringLayout.NORTH, topicLabel, st, 
				SpringLayout.NORTH, container);
		springLayout.putConstraint(SpringLayout.WEST, topicLabel, st, 
				SpringLayout.WEST, container);
		container.add(textField);
		springLayout.putConstraint(SpringLayout.WEST, textField, st2, 
				SpringLayout.EAST, topicLabel);
		springLayout.putConstraint(SpringLayout.NORTH, textField, 0, 
				SpringLayout.NORTH, topicLabel);
		springLayout.putConstraint(SpringLayout.EAST, textField, Spring.minus(st), 
				SpringLayout.EAST, container);
		container.add(contentLabel);
		springLayout.putConstraint(SpringLayout.WEST, contentLabel, 0, 
				SpringLayout.WEST, topicLabel);
		springLayout.putConstraint(SpringLayout.NORTH, contentLabel, st, 
				SpringLayout.SOUTH, topicLabel);
		container.add(scrollPane);
		springLayout.putConstraint(SpringLayout.NORTH, scrollPane, 0, 
				SpringLayout.NORTH, contentLabel);
		springLayout.putConstraint(SpringLayout.WEST, scrollPane, 0, 
				SpringLayout.WEST, textField);
		springLayout.putConstraint(SpringLayout.EAST, scrollPane, Spring.minus(st), 
				SpringLayout.EAST, container);
		container.add(confirmButton);
		springLayout.putConstraint(SpringLayout.SOUTH, scrollPane, Spring.minus(st), 
				SpringLayout.NORTH, confirmButton);
		springLayout.putConstraint(SpringLayout.EAST, confirmButton, Spring.minus(st), 
				SpringLayout.EAST, container);
		springLayout.putConstraint(SpringLayout.SOUTH, confirmButton, Spring.minus(st), 
				SpringLayout.SOUTH, container);
		container.add(cancelButton);
		springLayout.putConstraint(SpringLayout.EAST, cancelButton, Spring.minus(st), 
				SpringLayout.WEST, confirmButton);
		springLayout.putConstraint(SpringLayout.NORTH, cancelButton, 0, 
				SpringLayout.NORTH, confirmButton);	
		
		// make the text field focused every time the window is activated
		addWindowFocusListener(new WindowAdapter() {

			@Override
			public void windowGainedFocus(WindowEvent e) {
				// TODO Auto-generated method stub
				textField.requestFocus();
			}

		});
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SpringLayout_3 frame = new SpringLayout_3();
		frame.setTitle("使用弹簧布局管理器");
		frame.setVisible(true);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setBounds(100, 100, 600, 300);
	}

}

以上がJava Spring Layout Manager の使用チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。