查看: 1273|回复: 0

[Java学习] Java编程使用箱式布局管理器示例【基于swing组件】

发表于 2018-3-2 08:05:23

本文实例讲述了java编程使用箱式布局管理器。分享给大家供大家参考,具体如下:

先来看看运行效果:

完整代码如下:

  1. package awtDemo;
  2. import java.awt.BorderLayout;
  3. import java.awt.Container;
  4. import javax.swing.Box;
  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. /**
  12. * 使用箱式布局管理器
  13. *
  14. * @author HAN
  15. *
  16. */
  17. public class BoxLayout_1 extends JFrame {
  18. /**
  19. *
  20. */
  21. private static final long serialVersionUID = 6896925750596855002L;
  22. public BoxLayout_1() {
  23. // TODO Auto-generated constructor stub
  24. Container container = getContentPane();
  25. Box box = Box.createVerticalBox();
  26. container.add(box, BorderLayout.NORTH);
  27. box.add(Box.createVerticalStrut(5));
  28. Box topicBox = Box.createHorizontalBox();
  29. box.add(topicBox);
  30. topicBox.setAlignmentX(1);
  31. topicBox.add(Box.createHorizontalStrut(5));
  32. JLabel topicLabel = new JLabel("主题:");
  33. topicBox.add(topicLabel);
  34. topicBox.add(Box.createHorizontalStrut(5));
  35. JTextField topicTextField = new JTextField(30);
  36. topicBox.add(topicTextField);
  37. Box box2 = Box.createVerticalBox();
  38. container.add(box2, BorderLayout.CENTER);
  39. Box contentBox = Box.createHorizontalBox();
  40. contentBox.setAlignmentX(1);
  41. box2.add(Box.createVerticalStrut(5));
  42. box2.add(contentBox);
  43. contentBox.add(Box.createHorizontalStrut(5));
  44. JLabel contentLabel = new JLabel("内容:");
  45. contentLabel.setAlignmentY(0);
  46. contentBox.add(contentLabel);
  47. contentBox.add(Box.createHorizontalStrut(5));
  48. StringBuilder stringBuilder = new StringBuilder();
  49. String contentString = new String("利用箱式布局管理器实现组件的右对齐"
  50. + "和上对齐,以及控制组件之间的间距!");
  51. stringBuilder.append(contentString);
  52. stringBuilder.append("\n");
  53. stringBuilder.append(contentString);
  54. contentString = stringBuilder.toString();
  55. JTextArea contentTextArea = new JTextArea(contentString, 3, 30);
  56. contentTextArea.setLineWrap(true);
  57. JScrollPane scrollPane = new JScrollPane();
  58. scrollPane.setAlignmentY(0);
  59. scrollPane.setViewportView(contentTextArea);
  60. contentBox.add(scrollPane);
  61. contentBox.add(Box.createHorizontalStrut(5));
  62. // System.out.println(contentTextArea.requestFocusInWindow());
  63. box2.add(Box.createVerticalStrut(5));
  64. JButton submitButton = new JButton("确定");
  65. box2.add(submitButton);
  66. submitButton.setAlignmentX(1);
  67. box2.add(Box.createVerticalStrut(5));
  68. }
  69. /**
  70. * @param args
  71. */
  72. public static void main(String[] args) {
  73. // TODO Auto-generated method stub
  74. BoxLayout_1 frame = new BoxLayout_1();
  75. frame.setTitle("www.jb51.net - 使用箱式布局管理器");
  76. frame.setVisible(true);
  77. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  78. frame.pack();
  79. }
  80. }
复制代码

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。



回复

使用道具 举报