Linux教程網
Java使用彈簧布局管理器:
- package com.han;
-
- 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;
-
- /**
- * 使用彈簧布局管理器
- * @author HAN
- *
- */
- 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("topic :");
- JLabel contentLabel = new JLabel("content :");
- 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("confirm");
- JButton cancelButton = new JButton("cancel");
- 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();
- }
-
- });
- }
-
- /**
- * @param args
- */
- 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);
- }
-
- }
Copyright ©
Linux教程網 All Rights Reserved