swing菜单,常用组件,常用容器

1菜单

import javax.swing.*;
import java.awt.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
public class test{

    public static void main(String args[]){
        WindowMenu win=new WindowMenu("fuck me ok?",300,300,300,700);
    }
}

class WindowMenu extends JFrame{
    JMenuBar menubar1,menubar2;//菜单条
    JMenu menu1,subMenu;//菜单
    JMenuItem item1,item2;//菜单选项
    public WindowMenu(){}
    public WindowMenu(String s,int x,int y,int w,int h){
        init(s);
        setBounds(300,300,500,600);
        setVisible(true);
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    }
    void init(String s){
        setTitle(s);
        menubar1=new JMenuBar();
        menu1=new JMenu("菜单");
        subMenu=new JMenu("菜单2");
        item1=new JMenuItem("fuck");
        item2=new JMenuItem("fuck2");
        item1.setAccelerator(KeyStroke.getKeyStroke('A'));
        item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
        menu1.add(item1);
        menu1.addSeparator();
        menu1.add(item2);
        menu1.add(subMenu);
        subMenu.add(new JMenuItem("me",new ImageIcon("11.jpeg")));
        subMenu.add(new JMenuItem("me2",new ImageIcon("11.jpeg")));
        menubar1.add(menu1);
        setJMenuBar(menubar1);
    }
}

 2常用组件

import javax.swing.*;
import java.awt.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
public class test{

    public static void main(String args[]){
        Component window1=new Component();
        window1.setBounds(40,40,500,700);
        
    }
}

class Component extends JFrame{
    JTextField text1;//单行文本框
    JButton button1;//按钮
    JRadioButton radio1,radio2;//单选
    JCheckBox checkBox1,checkBox2,checkBox3;//可以多选的选择框
    ButtonGroup group1;//配套单选的选择项
    JComboBox comBox1;//下拉,用addItem("dddd")加
    JTextArea area1;//多行文本区
    Component(){
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    void init(){
        setLayout(new FlowLayout());//需要一个布局样式
        add(new JLabel("文本框1:"));//像注释一样写上文字说明
        text1=new JTextField(10);
        add(text1);
        add(new JLabel("按钮:"));
        button1=new JButton("点我");
        add(button1);
        add(new JLabel("选择框:"));
        checkBox1=new JCheckBox("111111");
        checkBox2=new JCheckBox("2222222");
        checkBox3=new JCheckBox("333333");
        add(checkBox1);
        add(checkBox2);
        add(checkBox3);
        add(new JLabel("单选:"));
        group1=new ButtonGroup();
        radio1=new JRadioButton("nan");
        radio2=new JRadioButton("gril");
        group1.add(radio1);
        group1.add(radio2);
        add(radio1);
        add(radio2);//不用add(group);
        add(new JLabel("下拉列表"));
        comBox1=new JComboBox();
        comBox1.addItem("fuck");
        comBox1.addItem("me");
        comBox1.addItem("ok");
        add(comBox1);
        add(new JLabel("文本区域:"));
        area1=new JTextArea(3,13);
        add(new JScrollPane(area1));//一定要
    }
    
}

 3 常用容器

1)JPanel 面板,可以向里面加组件,默认布局FlowLayout

        setLayout(new FlowLayout());//需要一个布局样式
        JPanel panel1=new JPanel();
        add(new JLabel("fuck"));
        add(new JLabel("me"));
        panel1.add(new JLabel("fuck1"));
        panel1.add(new JLabel("me1"));
        add(panel1);

2)JScrollPane滚动窗口,只可以添加一个组件,然后可以滚来看这个窗口

        setLayout(new FlowLayout());//需要一个布局样式
        add(new JLabel("fuck"));
        add(new JTextArea(3,5));
        add(new JLabel("me"));
        add(new JScrollPane(new JTextArea(4,5)));

3)JSplitPane 分开窗格  JSplitPane(int a,Component b,Component c)a=0是上下,a=1是左右分

add(new JSplitPane(0,new JLabel("fuck"),new JLabel("me")));
原文地址:https://www.cnblogs.com/vhyc/p/5951065.html