歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java使用彈簧布局管理器

Java使用彈簧布局管理器

日期:2017/3/1 10:16:08   编辑:Linux編程

Java使用彈簧布局管理器:

  1. package com.han;
  2. import java.awt.Container;
  3. import java.awt.event.WindowAdapter;
  4. import java.awt.event.WindowEvent;
  5. import javax.swing.JButton;
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. import javax.swing.JScrollPane;
  9. import javax.swing.JTextArea;
  10. import javax.swing.JTextField;
  11. import javax.swing.Spring;
  12. import javax.swing.SpringLayout;
  13. /**
  14. * 使用彈簧布局管理器
  15. * @author HAN
  16. *
  17. */
  18. public class SpringLayout_3 extends JFrame {
  19. /**
  20. *
  21. */
  22. private static final long serialVersionUID = -6045918631932051025L;
  23. public SpringLayout_3() {
  24. // TODO Auto-generated constructor stub
  25. Container container = getContentPane();
  26. SpringLayout springLayout = new SpringLayout();
  27. container.setLayout(springLayout);
  28. JLabel topicLabel = new JLabel("topic :");
  29. JLabel contentLabel = new JLabel("content :");
  30. final JTextField textField = new JTextField(30);
  31. JTextArea textArea = new JTextArea(3, 30);
  32. JScrollPane scrollPane = new JScrollPane();
  33. scrollPane.setViewportView(textArea);
  34. textArea.setLineWrap(true);
  35. final JButton confirmButton = new JButton("confirm");
  36. JButton cancelButton = new JButton("cancel");
  37. Spring st = Spring.constant(10);
  38. Spring st2 = Spring.constant(30);
  39. container.add(topicLabel);
  40. springLayout.putConstraint(SpringLayout.NORTH, topicLabel, st,
  41. SpringLayout.NORTH, container);
  42. springLayout.putConstraint(SpringLayout.WEST, topicLabel, st,
  43. SpringLayout.WEST, container);
  44. container.add(textField);
  45. springLayout.putConstraint(SpringLayout.WEST, textField, st2,
  46. SpringLayout.EAST, topicLabel);
  47. springLayout.putConstraint(SpringLayout.NORTH, textField, 0,
  48. SpringLayout.NORTH, topicLabel);
  49. springLayout.putConstraint(SpringLayout.EAST, textField, Spring.minus(st),
  50. SpringLayout.EAST, container);
  51. container.add(contentLabel);
  52. springLayout.putConstraint(SpringLayout.WEST, contentLabel, 0,
  53. SpringLayout.WEST, topicLabel);
  54. springLayout.putConstraint(SpringLayout.NORTH, contentLabel, st,
  55. SpringLayout.SOUTH, topicLabel);
  56. container.add(scrollPane);
  57. springLayout.putConstraint(SpringLayout.NORTH, scrollPane, 0,
  58. SpringLayout.NORTH, contentLabel);
  59. springLayout.putConstraint(SpringLayout.WEST, scrollPane, 0,
  60. SpringLayout.WEST, textField);
  61. springLayout.putConstraint(SpringLayout.EAST, scrollPane, Spring.minus(st),
  62. SpringLayout.EAST, container);
  63. container.add(confirmButton);
  64. springLayout.putConstraint(SpringLayout.SOUTH, scrollPane, Spring.minus(st),
  65. SpringLayout.NORTH, confirmButton);
  66. springLayout.putConstraint(SpringLayout.EAST, confirmButton, Spring.minus(st),
  67. SpringLayout.EAST, container);
  68. springLayout.putConstraint(SpringLayout.SOUTH, confirmButton, Spring.minus(st),
  69. SpringLayout.SOUTH, container);
  70. container.add(cancelButton);
  71. springLayout.putConstraint(SpringLayout.EAST, cancelButton, Spring.minus(st),
  72. SpringLayout.WEST, confirmButton);
  73. springLayout.putConstraint(SpringLayout.NORTH, cancelButton, 0,
  74. SpringLayout.NORTH, confirmButton);
  75. // make the text field focused every time the window is activated
  76. addWindowFocusListener(new WindowAdapter() {
  77. @Override
  78. public void windowGainedFocus(WindowEvent e) {
  79. // TODO Auto-generated method stub
  80. textField.requestFocus();
  81. }
  82. });
  83. }
  84. /**
  85. * @param args
  86. */
  87. public static void main(String[] args) {
  88. // TODO Auto-generated method stub
  89. SpringLayout_3 frame = new SpringLayout_3();
  90. frame.setTitle("使用彈簧布局管理器");
  91. frame.setVisible(true);
  92. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  93. frame.setBounds(100, 100, 600, 300);
  94. }
  95. }
Copyright © Linux教程網 All Rights Reserved