>Java >java지도 시간 >Java Spring 레이아웃 관리자 사용법 튜토리얼

Java Spring 레이아웃 관리자 사용법 튜토리얼

巴扎黑
巴扎黑원래의
2017-09-06 09:38:061787검색

이 글은 주로 Java 스프링 레이아웃 관리자 사용법에 대한 자세한 설명을 소개하고 있으니 필요하신 분들은 참고하시면 됩니다.

SpringLayout 클래스에 의해 구현되는 레이아웃 관리자를 스프링 레이아웃 관리자라고 합니다. 이 레이아웃 관리자를 사용하여 구성 요소를 관리하면 구성 요소 간의 상대적인 위치를 변경하지 않고도 구성 요소의 크기가 자동으로 조정되므로 구성 요소가 전체 양식을 채우므로 전반적인 효과가 보장됩니다. 형태. 다음으로, 예제를 통해 스프링 레이아웃 매니저의 사용법과 효과를 살펴보겠습니다. ㅋㅋㅋ                                    스프링 레이아웃 관리자는 컨테이너 및 구성 요소의 가장자리를 작업 개체로 사용하고 구성 요소 및 컨테이너의 가장자리뿐만 아니라 구성 요소 및 구성 요소의 가장자리에 대한 제약 조건을 설정하여 구성 요소의 레이아웃을 관리했습니다. putConstraint(String e1,Conponet c1,int pad,String e2,Component c2) 메소드를 통해 각 모서리 사이에 제약 조건을 설정할 수 있습니다. 이 메소드의 입력 매개변수는 다음과 같이 설명됩니다.

c1: 구성 요소 개체

c2: 참조해야 하는 구성요소 개체의 특정 가장자리

e1: 참조된 구성요소 개체의 특정 참조 가장자리

패드: 두 개의 모서리, 이는 두 구성 요소 사이의 간격입니다.

조금 복잡하지만 실제로는 이해하기 쉽습니다.

예 1: 스프링 레이아웃 관리자 사용.

이 예에서는 스프링 레이아웃 관리자를 사용하여 폼의 크기를 조정한 후에도 구성 요소가 여전히 전체 양식을 채우고 구성 요소 간의 상대 위치는 변경되지 않습니다. 소스 코드:

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 레이아웃 관리자 사용법 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.