Home >Java >javaTutorial >Java spring layout manager usage tutorial
This article mainly introduces the detailed explanation of the use of Java spring layout manager. Friends in need can refer to it
The layout manager implemented by the SpringLayout class is called the spring layout manager. Use this layout manager to manage components. When the size of the form is changed, the size of the components can be automatically adjusted without changing the relative positions between components, so that the components still fill the entire form, thus ensuring the overall effect of the form. Next, let’s take a look at the usage and effects of the spring layout manager through an example.
Spring Layout Manager can manage the layout of components by establishing constraints on the edges of containers and components. Constraints can be established between each edge through the method putConstraint(String e1,Conponet c1,int pad,String e2,Component c2). The entry parameters of this method are described as follows:
c1: The component object that needs to be referenced;
c2: The specific edge of the component object that needs to be referenced;
e1: The referenced component object;
e2: The specific edge of the referenced component object Reference side;
pad: the distance between two sides, that is, the spacing between two components.
It’s a bit confusing, but it’s actually easy to understand.
Example 1: Using spring layout manager.
This example uses the spring layout manager to implement the form. After adjusting the size of the form, the components will still fill the entire form, and the relative positions between components will not change. Source code:
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); } }
The above is the detailed content of Java spring layout manager usage tutorial. For more information, please follow other related articles on the PHP Chinese website!