Swing(javaDay11)

Swing

1.JFrame

1.1、新建JFrame

​
JFrame()//创建没有标题窗口
​
Frame(String s)//创建标题为s的窗口

1.2、设置JFrame的大小

public void setSize(int width,int height)//设置窗口的大小
public void setLocation(int x,int y)//设置窗口的位置,默认位置是(0,0)
public void setBounds(int a,int b,int width,int height)//设置窗口的初始位置是(a,b),窗口的宽是width,高是height
public void setVisible(boolean b)//设置窗口是否可见,窗口默认是不可见的
public void setResizable(boolean b)//设置窗口是否可调整大小,默认可调整大小
public void dispose()//撤销当前窗口,并释放当前窗口所使用的资源

1.3、设定JFrame的关闭方式

DO_NOTHING_ON_CLOSE//什么也不做
HIDE_ON_CLOSE//隐藏当前窗口
DISPOSE_ON_CLOSE//隐藏当前窗口,并释放窗体占有的其他资源
EXIT_ON_CLOSE//结束窗口所在的应用程序

​
​
//JFrame是一个容器,他是各个组件的载体。在开发的过程中,我们通过继承java.swing.JFrame来创建要给窗体
    JFrame jf = new JFrame("hello");
​
    //        jf.setSize(400, 250);
    //        jf.setLocation(400,300);
    jf.setBounds(400,300,400,250);
​
    //jf.setTitle("hello");
    jf.setVisible(true);
    jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);        
​
​

2.JDialog

继承自java.awt.Dialog类。他是从一个窗体弹出来的另外一个窗体

JDialog:可当成一JFrame使用,但是必须从属于JFrame

2.1构造器

JDialog();
JDialog(Frame f);//指定父窗口
JDialog(Frame f,String title);//指定父窗口+标题
​
    JFrame jf= new JFrame("jframe");
    jf.setBounds(400,300,200,200);
    jf.setVisible(true);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
​
    JDialog jd = new JDialog(jf, "Dialog");
    jd.setBounds(400,300,200,200);
    jd.setVisible(true);
    jd.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
​
​

3.常用的面板

3.1JPanel

是一种最简单的面板,他继承自java.awt.Container类

    JFrame jf = new JFrame("Frame");
    jf.setBounds(400,300,1000,1300);
    jf.setVisible(true);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
​
    JButton jb1 = new JButton("按钮1");
    JButton jb2 = new JButton("按钮2");
    JPanel jp = new JPanel(new FlowLayout());
​
    jp.add(jb1);
    jp.add(jb2);
    jf.add(jp);

2.JScrollPane

JScrollPane是带滚动条的面板,因此,在碰到需要将一个大的组件放在一个较小的空间的时候,使用该面板。JScrollPane内只能添加一个组件。因此,如果需要将多个组件添加到JScrollPane中时,需要先将需要添加的组件添加到JPanel中,再将JPanel添加到JScrollPane中

4.常见的组件

4.1JLabel

构造器

new JLabel();
new JLabel(Icon icon); // 设置图标
new JLabel(Icon icon, int aligment);//设置图标+水平对齐方式
new JLabel(String str,int aligment);//设置文本+水平对齐方式 LEFT CENTER RIGHT
new JLabel(String str,Icon icon,int aligment);//设置文本 + 图标 + 水平对齐方式
​
        JFrame jf = new JFrame("Frame");
        jf.setBounds(400,300,200,300);
​
        JLabel jl = new JLabel("账号:", JLabel.CENTER);
        jf.add(jl);
        
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

4.2 JButton

4.2.1构造方法
JButton();
JButton(String text);//指定文字
JButton(Icon icon);//指定图标
JButton(String text,Icon icon);//指定文字+图标
4.2.2其他方法
setTooltipText(String text);//设置提示文字
setBorderPainted();//设置边界是否显示
setEnabled();//设置按钮是否可用
    JFrame jf = new JFrame("Frame");
    jf.setBounds(400,300,200,300);

    jf.setLayout(new FlowLayout());
    JButton jb = new JButton("按钮1");
    jb.setEnabled(true);
    jb.setBorderPainted(true);
    jf.add(jb);

    jf.setVisible(true);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

4.3 JRadioButton & ButtonGroup(单选按钮组件)

构造方法

JRadioButton();
JRadioButton(Icon icon);//制定图标
JRadioButton(Icon icon,boolean selected);//指定图标 + 是否选中
JRadioButton(String text);//指定文字
JRadioButton(String text,Icon icon);//指定文字 + 图标
JRadioButton(String text,Icon icon,boolean selected);//指定文字 + 图标 + 是否选中

        JRadioButton jrb1 = new JRadioButton("男");
        JRadioButton jrb2 = new JRadioButton("女");

        ButtonGroup bg = new ButtonGroup();
        bg.add(jrb1);
        bg.add(jrb2);
        jf.add(jrb1);
        jf.add(jrb2);

4.4 JCheckBox(复选框)

构造方法

JCheckBox();
JCheckBox(Icon icon,boolean selected);//指定图标 + 是否被选中
JCheckBox(String text,boolean selected);//指定文字 + 是否被选中

        JCheckBox box1 = new JCheckBox("睡觉",true);
        JCheckBox box2 = new JCheckBox("敲代码",false);
        JCheckBox box3 = new JCheckBox("打游戏",false);
        jf.add(box1);
        jf.add(box2);
        jf.add(box3);       

4.5 JComboBox(下拉列表框组件 )

构造方法
JComboBox();//常用
JComboBox(ComboBoxModel dataModel);// 使用listModel建立一个下拉列表
JComboBox(Object[] arrayData);
JComboBox(Vector vector);

方法
addItem();

    JComboBox box = new JComboBox();
    box.addItem("--请选择学历--");
    box.addItem("高中");
    box.addItem("大学");
    box.addItem("研究生");
    jf.add(box);

4.6菜单栏组件

1.创建菜单条:JMenuBar

2.创建菜单:JMenu

3.创建菜单项:JMenuItem

总结:菜单项依附菜单,菜单依附菜单条

        JMenuBar bar = new JMenuBar();
        JMenu menu1 = new JMenu("菜单1");
        JMenu menu2 = new JMenu("菜单2");
        JMenu menu3 = new JMenu("菜单3");

        JMenuItem item1 = new JMenuItem("选项1");
        JMenuItem item2 = new JMenuItem("选项2");
        JMenuItem item3 = new JMenuItem("选项3");
        JMenuItem item4 = new JMenuItem("选项4");
        JMenuItem item5 = new JMenuItem("选项5");
        JMenuItem item6 = new JMenuItem("选项6");
        JMenuItem item7 = new JMenuItem("选项7");
        JMenuItem item8 = new JMenuItem("选项8");
        JMenuItem item9 = new JMenuItem("选项9");

        menu1.add(item1);
        menu1.add(item2);
        menu1.add(item3);

        menu2.add(item4);
        menu2.add(item5);
        menu2.add(item6);

        menu3.add(item7);
        menu3.add(item8);
        menu3.add(item9);

        bar.add(menu1);
        bar.add(menu2);
        bar.add(menu3);
        jf.setJMenuBar(bar);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值