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