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);

 

posted @ 2016-08-29 09:35  wust_ouyangli  阅读(240)  评论(0编辑  收藏  举报