各种框的创建

    1. package top.aniun.main;
    2. import javax.swing.*;
    3. import java.awt.*;
    4. import java.awt.event.ActionEvent;
    5. /**
    6. * @author aniun
    7. * @data 2021/5/7 22:46
    8. */
    9. public class Main {
    10. public static void main(String[] args) {
    11. // 1.创建主窗体,设置位置以及窗体大小
    12. JFrame frame = new JFrame("port scanner");
    13. frame.setLayout(new FlowLayout());
    14. frame.setBounds(400,250,400,300);
    15. // 2.创建从窗体
    16. JDialog dialog = new JDialog(frame,"Dialog测试");
    17. dialog.setBounds(450,300,300,200);
    18. dialog.setVisible(false);
    19. dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    20. // 3.添加面板
    21. JButton button = new JButton("按钮");
    22. JPanel panel = new JPanel(new FlowLayout());
    23. panel.setVisible(false);
    24. panel.add(button);
    25. frame.add(panel);
    26. // 4.添加标签
    27. JLabel label = new JLabel("标签",SwingConstants.CENTER);
    28. label.setVisible(false);
    29. frame.add(label);
    30. // 5.添加按钮(setEnabled意思是失效,不是消失)
    31. JButton but = new JButton("按钮");
    32. but.setVisible(false);
    33. frame.add(but);
    34. // 6.单选按钮
    35. JRadioButton rb1 = new JRadioButton("男");
    36. JRadioButton rb2 = new JRadioButton("女");
    37. ButtonGroup bg = new ButtonGroup();
    38. rb1.setVisible(false);
    39. rb2.setVisible(false);
    40. bg.add(rb1);
    41. bg.add(rb2);
    42. frame.add(rb1);
    43. frame.add(rb2);
    44. // 7.复选框
    45. JCheckBox box1 = new JCheckBox("睡觉",true);
    46. JCheckBox box2 = new JCheckBox("打代码",false);
    47. box1.setVisible(false);
    48. box2.setVisible(false);
    49. frame.add(box1);
    50. frame.add(box2);
    51. // 8.下拉框
    52. JComboBox box = new JComboBox();
    53. box.setVisible(false);
    54. box.addItem("--请选择学历--");
    55. box.addItem("高中");
    56. box.addItem("大学");
    57. box.addItem("研究生");
    58. frame.add(box);
    59. // 9.菜单添加
    60. JMenuBar bar = new JMenuBar();
    61. bar.setVisible(false);
    62. JMenu menu1 = new JMenu("菜单一");
    63. JMenu menu2 = new JMenu("菜单二");
    64. JMenu menu3 = new JMenu("菜单三");
    65. JMenuItem item1 = new JMenuItem("选项1");
    66. JMenuItem item2 = new JMenuItem("选项2");
    67. JMenuItem item4 = new JMenuItem("选项4");
    68. JMenuItem item5 = new JMenuItem("选项5");
    69. JMenuItem item7 = new JMenuItem("选项7");
    70. JMenuItem item8 = new JMenuItem("选项8");
    71. menu1.add(item1);
    72. menu1.add(item2);
    73. menu2.add(item4);
    74. menu2.add(item5);
    75. menu3.add(item7);
    76. menu3.add(item8);
    77. bar.add(menu1);
    78. bar.add(menu2);
    79. bar.add(menu3);
    80. frame.add(bar);
    81. // 10.输入框
    82. JTextField textField = new JTextField("请输入账号",22);
    83. textField.setVisible(false);
    84. frame.add(textField);
    85. // 11.密码框
    86. JPasswordField passwordField = new JPasswordField("请输入密码",22);
    87. passwordField.setVisible(false);
    88. passwordField.setEchoChar('*');
    89. frame.add(passwordField);
    90. // 12.文本域(获取内容getText())
    91. JTextArea area = new JTextArea(10,20);
    92. area.setVisible(false);
    93. area.setLineWrap(true);
    94. frame.add(area);
    95. // 13.布局设计(fx使用的布局,网格布局)
    96. frame.setLayout(new GridLayout(3,3,10,20));
    97. boolean flag13 = false;
    98. JButton button1 = new JButton("按钮1");
    99. JButton button2 = new JButton("按钮2");
    100. JButton button3 = new JButton("按钮3");
    101. button1.setVisible(flag13);
    102. button2.setVisible(flag13);
    103. button3.setVisible(flag13);
    104. frame.add(button1,0);
    105. frame.add(button2,3);
    106. frame.add(button3,13);
    107. // 13.布局设计(组件不多的时候的方位布局)
    108. frame.setLayout(new BorderLayout());
    109. boolean flag14 = false;
    110. JButton button4 = new JButton("按钮1");
    111. JButton button5 = new JButton("按钮2");
    112. JButton button6 = new JButton("按钮3");
    113. JButton button7 = new JButton("按钮4");
    114. JButton button8 = new JButton("按钮5");
    115. button4.setVisible(flag14);
    116. button5.setVisible(flag14);
    117. button6.setVisible(flag14);
    118. button7.setVisible(flag14);
    119. button8.setVisible(flag14);
    120. frame.add(button4,BorderLayout.NORTH);
    121. frame.add(button5,BorderLayout.EAST);
    122. frame.add(button6,BorderLayout.SOUTH);
    123. frame.add(button7,BorderLayout.WEST);
    124. frame.add(button8,BorderLayout.CENTER);
    125. // 15.监听事件
    126. boolean flag15 = true;
    127. frame.setLayout(new FlowLayout(FlowLayout.CENTER));
    128. JButton button9 = new JButton("暴打陈春龙");
    129. final JTextArea area1 = new JTextArea(10,20);
    130. area1.setVisible(flag15);
    131. button9.setVisible(flag15);
    132. area1.setLineWrap(true);
    133. button9.addActionListener(new AbstractAction() {
    134. public void actionPerformed(ActionEvent e) {
    135. area1.append("陈春龙好自为之\n");
    136. }
    137. });
    138. frame.add(area1);
    139. frame.add(button9);
    140. // last.放置主窗体设置在这里,不然某些组件的添加会使其失效
    141. frame.setVisible(true);
    142. frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    143. }
    144. }