• 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")));
  • 相关阅读:
    【Python】.format用法
    【FreeRTOS】任务调度
    Asyncio 的简单使用
    Ubuntu安装MySQL
    SMS (Surfacewater Modeling System)
    EPSG:4549是什么坐标系?
    idea将依赖打入jar包
    JavaScript——函数式编程Functor(函子)
    Vue 通过prototype添加全局属性/方法
    Vue 时间格式化dateFormat
  • 原文地址:https://www.cnblogs.com/vhyc/p/5951065.html
Copyright © 2020-2023  润新知