各种框的创建
package top.aniun.main;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;/*** @author aniun* @data 2021/5/7 22:46*/public class Main {public static void main(String[] args) {// 1.创建主窗体,设置位置以及窗体大小JFrame frame = new JFrame("port scanner");frame.setLayout(new FlowLayout());frame.setBounds(400,250,400,300);// 2.创建从窗体JDialog dialog = new JDialog(frame,"Dialog测试");dialog.setBounds(450,300,300,200);dialog.setVisible(false);dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);// 3.添加面板JButton button = new JButton("按钮");JPanel panel = new JPanel(new FlowLayout());panel.setVisible(false);panel.add(button);frame.add(panel);// 4.添加标签JLabel label = new JLabel("标签",SwingConstants.CENTER);label.setVisible(false);frame.add(label);// 5.添加按钮(setEnabled意思是失效,不是消失)JButton but = new JButton("按钮");but.setVisible(false);frame.add(but);// 6.单选按钮JRadioButton rb1 = new JRadioButton("男");JRadioButton rb2 = new JRadioButton("女");ButtonGroup bg = new ButtonGroup();rb1.setVisible(false);rb2.setVisible(false);bg.add(rb1);bg.add(rb2);frame.add(rb1);frame.add(rb2);// 7.复选框JCheckBox box1 = new JCheckBox("睡觉",true);JCheckBox box2 = new JCheckBox("打代码",false);box1.setVisible(false);box2.setVisible(false);frame.add(box1);frame.add(box2);// 8.下拉框JComboBox box = new JComboBox();box.setVisible(false);box.addItem("--请选择学历--");box.addItem("高中");box.addItem("大学");box.addItem("研究生");frame.add(box);// 9.菜单添加JMenuBar bar = new JMenuBar();bar.setVisible(false);JMenu menu1 = new JMenu("菜单一");JMenu menu2 = new JMenu("菜单二");JMenu menu3 = new JMenu("菜单三");JMenuItem item1 = new JMenuItem("选项1");JMenuItem item2 = new JMenuItem("选项2");JMenuItem item4 = new JMenuItem("选项4");JMenuItem item5 = new JMenuItem("选项5");JMenuItem item7 = new JMenuItem("选项7");JMenuItem item8 = new JMenuItem("选项8");menu1.add(item1);menu1.add(item2);menu2.add(item4);menu2.add(item5);menu3.add(item7);menu3.add(item8);bar.add(menu1);bar.add(menu2);bar.add(menu3);frame.add(bar);// 10.输入框JTextField textField = new JTextField("请输入账号",22);textField.setVisible(false);frame.add(textField);// 11.密码框JPasswordField passwordField = new JPasswordField("请输入密码",22);passwordField.setVisible(false);passwordField.setEchoChar('*');frame.add(passwordField);// 12.文本域(获取内容getText())JTextArea area = new JTextArea(10,20);area.setVisible(false);area.setLineWrap(true);frame.add(area);// 13.布局设计(fx使用的布局,网格布局)frame.setLayout(new GridLayout(3,3,10,20));boolean flag13 = false;JButton button1 = new JButton("按钮1");JButton button2 = new JButton("按钮2");JButton button3 = new JButton("按钮3");button1.setVisible(flag13);button2.setVisible(flag13);button3.setVisible(flag13);frame.add(button1,0);frame.add(button2,3);frame.add(button3,13);// 13.布局设计(组件不多的时候的方位布局)frame.setLayout(new BorderLayout());boolean flag14 = false;JButton button4 = new JButton("按钮1");JButton button5 = new JButton("按钮2");JButton button6 = new JButton("按钮3");JButton button7 = new JButton("按钮4");JButton button8 = new JButton("按钮5");button4.setVisible(flag14);button5.setVisible(flag14);button6.setVisible(flag14);button7.setVisible(flag14);button8.setVisible(flag14);frame.add(button4,BorderLayout.NORTH);frame.add(button5,BorderLayout.EAST);frame.add(button6,BorderLayout.SOUTH);frame.add(button7,BorderLayout.WEST);frame.add(button8,BorderLayout.CENTER);// 15.监听事件boolean flag15 = true;frame.setLayout(new FlowLayout(FlowLayout.CENTER));JButton button9 = new JButton("暴打陈春龙");final JTextArea area1 = new JTextArea(10,20);area1.setVisible(flag15);button9.setVisible(flag15);area1.setLineWrap(true);button9.addActionListener(new AbstractAction() {public void actionPerformed(ActionEvent e) {area1.append("陈春龙好自为之\n");}});frame.add(area1);frame.add(button9);// last.放置主窗体设置在这里,不然某些组件的添加会使其失效frame.setVisible(true);frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}}
