zoukankan      html  css  js  c++  java
  • JFrame编程

    最基础的窗口

    public test1() {
            setTitle("test1");
            setSize(300,300); //设置窗口大小
            setLocation(300,300); //设置窗口的位置
            jp = new JPanel();
            JButton jb=new JButton("button");
            add(jb);   //整个窗口可以增加一个按钮
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //正常退出
            setVisible(true);  //是否显示
            
        }

    边界布局管理器

            jb1=new JButton("jb1");
            add(jb1,BorderLayout.EAST);  
            jb2=new JButton("jb2");
            add(jb2,BorderLayout.NORTH);
            jb3=new JButton("jb3");
            add(jb3,BorderLayout.SOUTH);
            jb4=new JButton("jb4");
            add(jb4,BorderLayout.WEST);
            jb5=new JButton("jb5");
            add(jb5,BorderLayout.CENTER);

    流式布局管理器

    setLayout(new FlowLayout()); //默认居中
            //this.setLayout(new FlowLayout(FlowLayout.LEFT)); //左对齐
            //this.setLayout(new FlowLayout(FlowLayout.RIGHT)); //右对齐
            for(int i=0;i<5;i++) 
            {
                jb[i]=new JButton(""+i+"");
                add(jb[i]);
            }
            this.setResizable(false);  //不可调整窗口大小

    网格式布局管理器

    this.setLayout(new GridLayout(3,3,15,15)); //主要看行,所有都会被显示,一列可能多也可能少,后面2个参数是横竖的间距
            for(int i=0;i<5;i++)
            {
                jb[i]=new JButton(""+i+"");
                add(jb[i]);
            }

    面板

    jp = new JPanel(); //新建面板
            jp2=new JPanel();
            for(int i=0;i<2;i++)
            {
                jb[i]=new JButton(""+i+"");
                jp.add(jb[i]); //面板添加按钮
            }
            for(int i=2;i<5;i++)
            {
                jb[i]=new JButton(""+i+"");
                jp2.add(jb[i]);
            }
            this.add(jp,BorderLayout.NORTH);  //窗口添加面板
            this.add(jp2,BorderLayout.SOUTH);

    标签、文本框、密码框

    JLabel jl=new JLabel("账号");
            JTextField jtf=new JTextField(10);
            JLabel jl2=new JLabel("密码");
            JPasswordField jtf2=new JPasswordField(10);

    复选框和单选按钮

    jp = new JPanel(); //新建面板
            jp2=new JPanel();
            JCheckBox[] jcb={null,null,null};
            for(int i=0;i<3;i++) { jcb[i]=new JCheckBox(""+i+""); jp.add(jcb[i]); }
            JRadioButton[] jrb={null,null};
            ButtonGroup bg=new ButtonGroup();
            for(int i=0;i<2;i++) { jrb[i]=new JRadioButton(""+i+"");  }
            bg.add(jrb[0]); bg.add(jrb[1]);
            jp2.add(jrb[0]); jp2.add(jrb[1]);
            add(jp);
            add(jp2);

    下拉列表框和滚动条

    this.setLayout(new GridLayout(2,1));
            jp = new JPanel(); //新建面板
            jp2=new JPanel();
            String[] S={"北京","上海","武汉","杭州"};
            JComboBox jcmb=new JComboBox(S);
            for(int i=0;i<4;i++) jcmb.addItem(""+i+"");
            JList jlist=new JList(S);
            jlist.setVisibleRowCount(3);
            JScrollPane jsp=new JScrollPane(jlist);
            jp.add(jcmb);
            add(jp);
            jp2.add(jsp);
            add(jp2);

    拆分窗口和插入图片

    JLabel jl=new JLabel(new ImageIcon("Image/龙猫2.jpg")); //插入图片
            String[] S={"1","2","3"};
            JList jlist=new JList(S); 
            JSplitPane jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jlist,jl); //拆分成两个窗口
            jsp.setOneTouchExpandable(true); //有向左向右的小三角
            add(jsp);

    设置图片

    this.setIconImage((new ImageIcon("Image/龙猫2.jpg")).getImage()); //设置图片

    一些相关设置的操作

    JLabel jl=new JLabel("qq",JLabel.CENTER); //设置标签位置
            jl.setFont(new Font("宋体",Font.PLAIN,16)); //设置字体
            jl.setForeground(Color.BLUE);  //设置颜色
            jl.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); //移到此处变成手

    选项卡

    jp.setBackground(Color.BLUE); //面板设置颜色
    JTabbedPane jtbp=new JTabbedPane(); //选项卡
    jtbp.add("面板1",jp); jtbp.add("面板2",jp2);

    菜单和工具条

    JMenuBar mb=new JMenuBar(); //菜单条
            JMenu jm=new JMenu("中国");  //不是最终的菜单
            JMenuItem jmi1=new JMenuItem("汉阳");
            JMenuItem jmi2=new JMenuItem("汉口");
            JMenuItem jmi=new JMenuItem("北京");
            JMenu ej=new JMenu("武汉"); //二级菜单
            ej.add(jmi1); ej.add(jmi2);
            
            jm.add(jmi);
            jm.addSeparator(); //设置分隔线
            jm.add(ej);
            JMenu jm2=new JMenu("美国(A)");
            jm2.setMnemonic('A'); //按下alt+A可点击该选项,必须单引号
            mb.add(jm);  //菜单条添加菜单项目
            mb.add(jm2);
            JTextField jtf=new JTextField();
            JToolBar tool=new JToolBar();  //工具条
            JButton button=new JButton("New");
            button.setToolTipText("新建");  //提示信息
            tool.add(button); //按钮加入到工具条中
            jp.add(mb); jp.add(tool);

    表格

    Vector ziduan=new Vector();
            ziduan.add("编号"); ziduan.add("姓名");
            Vector jilu=new Vector(); //集合类
            for(int i=0;i<3;i++)
            {
                Vector row=new Vector();
                row.add(""+i+"");
                row.add("a"+i+"");
                jilu.add(row);
            }
            JTable ta=new JTable(jilu,ziduan);//JTable是表格,里面的参数是先记录后字段
            JScrollPane jsp=new JScrollPane(ta); //滚动条
            this.add(jsp);
  • 相关阅读:
    通过串口抓取图片
    Qt也有垃圾回收(通过QScopedPointer实现),下决心在项目里使用QScopedPointer,省了太多事情了,而且更安全!!
    IOS端 margin-top 和 margin-bottom 使用负数时的区别
    使用ROME解析rss,如何获取icon图标
    SVG图片如何调整大小和颜色
    Js点击触发Css3的动画Animations、过渡Transitions效果
    如何判断是否为同一个App,Ionic3如何修改包名
    如何使用JPQL写纯SQL语句
    为何在新线程中使用注解获取不到Spring管理的Bean
    Ionic的NavController 和ModalController 的区别
  • 原文地址:https://www.cnblogs.com/wust-ouyangli/p/5816753.html
Copyright © 2011-2022 走看看