UI基础编程

来源:互联网 发布:2016淘宝客怎么做 编辑:程序博客网 时间:2024/05/21 17:05

UI:UI设计师(界面设计师)
UI就是界面
软件开发:
1、前端开发(UI开发)
2、后端开发

B/S和C/S界面设计
B/S browse/Server web开发(网页前端+后端服务器)
优势:方便、快捷
劣势:加载速度慢
C/S Client/Server 桌面应用网络程序(桌面程序+后端服务器)
优势:加载速度块
劣势:麻烦

Java前期学习:我们主要的开发方向是桌面应用程序

组件分类:
1、容器组件
i.顶层容器组件:可以独立存在,不需要放置到其他组件上JFrame
ii.中间层容器组件:一般是放置到顶层容器组件或者中间层容器组件上JPanel
2、非容器组件:功能性组件,上面继续放置组件
了JButton、JTextField、JLabel

注意:
1、中间层容器和功能组件设置大小的方式:setPrefferedSize
2、顶层容器设置大小:setSize

个别案例:
添加滚动面板案例:

//创建滚动面板:只能通过构造方法传参方式加载JScrollPane jsp = new JScrollPane(jta);//3.设置滚动面板大小Dimension dimen = new Dimension(200,200);jsp.setPreferredSize(dimen);

普通按钮案例:

JButton button = new JButton("测试按钮");

单选按钮案例:

JRadioButton jrb = new JRadioButton("单选按钮");

特殊的,单选按钮需要联系起来形成一组,这一组中只能选择一个

//窗体建立JFrame jf=new JFrame();//单选按钮建立JRadioButton jrb1 = new JRadioButton("单选按钮1");JRadioButton jrb2 = new JRadioButton("单选按钮2");JRadioButton jrb3 = new JRadioButton("单选按钮3");jf.add(jrb1);jf.add(jrb2);jf.add(jrb3);//如果单选按钮要形成单选效果,则必须要把排斥的按钮放置到一个组合中//按钮组对象的创建ButtonGroup bg = new ButtonGroup();bg.add(jrb1);bg.add(jrb2);bg.add(jrb3);

复选按钮案例:

JCheckBox jcb = new JCheckBox("复选按钮");

菜单的添加:(菜单条,菜单,菜单项)
菜单条就是菜单栏,菜单是菜单栏上每一个菜单选项,菜单项是菜单选项里面的二级菜单

//窗体建立JFrame jf=new JFrame();//1、菜单条的添加JMenuBar bar = new JMenuBar();//设置菜单条到窗体上jf.setJMenuBar(bar);//2、菜单添加到菜单条JMenu menu = new JMenu("File");bar.add(menu);//3.菜单上添加菜单项JMenuItem item = new JMenuItem("save");menu.add(item);

布局讲解

1、布局概念
布局是指组件摆放到容器中的排列方式
布局一般都是设置到容器对象上
每个容器需要往上添加组件的时候,都需要先设置好布局
2、容器组件设置布局的方法:setLayout
3、流式布局:java.awt.FlowLayout
i.该布局以行为单位依次排列各组件,一行排不下,另起一行
ii.可以通过传参方式来设置布局的对其方式和水平垂直间隙
iii.JPanel容器默认使用的就是FlowLayout

//建立窗体JFrame jf = new JFrame();//建立流式布局并设置在窗体上FlowLayout fl = new FlowLayout(0,0,0);jf.setLayout(fl);//建立按钮并添加到窗体上JButton jb1 = new JButton("按钮");jf.add(jb1);JButton jb2 = new JButton("按钮");jf.add(jb2);JButton jb3 = new JButton("按钮");jf.add(jb3);JButton jb4 = new JButton("按钮");jf.add(jb4);JButton jb5 = new JButton("按钮");jf.add(jb5);

4、边框布局:java.awt.BorderLayout
i.把被设置此布局的容器分为五个部分:东(East)、南(South)、西(West)、北(North)、中(Center)
ii.每个方位仅仅只能摆放一个组件,所以一般会摆放容器组件JPanel
iii.顶层容器(JFrame、JWindow、JDialog等)默认的都是边框布局BorderLayout
iii.组件添加时默认放在中部,且具有延伸性

//建立窗体JFrame jf = new JFrame();       //设置为边框布局BorderLayout bl = new BorderLayout();jf.setLayout(bl);//建立按钮并添加到窗体上JButton button = new JButton("测试按钮");jf.add(button,BorderLayout.WEST);       JButton button1 = new JButton("测试按钮");jf.add(button1,BorderLayout.NORTH);     JButton button2 = new JButton("测试按钮");jf.add(button2);

5、空布局使用步骤
1)创建容器对象
2)设置容器对象的布局为null
3)组件对象设置位置和大小:setBounds方法
4)组件添加到容器中UI:UI设计师(界面设计师)

//建立窗体JFrame jf = new JFrame();//将窗体布局设为空jf.setLayout(null);     JButton button = new JButton("测试按钮");//设置按钮绝对定位位置button.setBounds(200, 200, 100, 50);jf.add(button);

仿画图工具界面
这里写图片描述

package com.huaxin.huatu;public class Text {    public static void main(String[] args) {        DrowFrame df=new DrowFrame();        df.initFrame();    }}
package com.huaxin.huatu;import java.awt.*;import javax.swing.*;public class DrowFrame extends JFrame{    public void initFrame() {               this.setSize(1200,800);        this.setDefaultCloseOperation(3);        this.setLocationRelativeTo(null);        this.setTitle("画图");        //给窗体的左边、下边、中间分别添加中间容器层容器组件JPanel        JPanel panelLeft=new JPanel();        JPanel panelDown=new JPanel();        JPanel panelCenter=new JPanel();        //颜色        Color color=new Color(171,171,171);        panelLeft.setBackground(color);        //大小        Dimension dimen=new Dimension(100, 100);        panelLeft.setPreferredSize(dimen);        panelDown.setPreferredSize(dimen);        this.add(panelLeft,BorderLayout.WEST);        this.add(panelDown,BorderLayout.SOUTH);        this.add(panelCenter);        //添加底部颜色区               panelDown.setLayout(new FlowLayout(0,5,20));        panelDown.setBackground(color.GRAY);        JPanel panelLeft_1=new JPanel();        panelLeft_1.setPreferredSize(new Dimension(38, 46));        panelDown.add(panelLeft_1,BorderLayout.WEST);        JPanel panelColor=new JPanel();        panelColor.setPreferredSize(new Dimension(281,46));        panelDown.add(panelColor);        //添加小格颜色        JButton jButton=new JButton();        jButton.setBackground(color.black);        jButton.setPreferredSize(new Dimension(34,39));        panelLeft_1.add(jButton);        panelColor.setLayout(new GridLayout(2,14));        JButton jb[]=new JButton[28];        for(int i=0;i<28;i++)            jb[i]=new JButton();        for(int i=0;i<28;i++)            jb[0].setPreferredSize(new Dimension(17,17));        for(int i=0;i<28;i++)            panelColor.add(jb[i]);        jb[0].setBackground(new Color(0, 0, 0));jb[1].setBackground(new Color(128,138,135));        jb[2].setBackground(new Color(176, 23, 31));jb[3].setBackground(new Color(107,142,35));        jb[4].setBackground(new Color(34,139,34));jb[5].setBackground(new Color(64,224,205));        jb[6].setBackground(new Color(8,46, 84));jb[7].setBackground(new Color(160, 32, 240));        jb[8].setBackground(new Color(210, 180, 140));jb[9].setBackground(new Color(25,25,112));        jb[10].setBackground(new Color(0,191,255));jb[11].setBackground(new Color(153, 51,250));        jb[12].setBackground(new Color(160, 82,45));jb[13].setBackground(new Color(120,82,45));        jb[14].setBackground(new Color(255,255,255));jb[15].setBackground(new Color(192,192,192));        jb[16].setBackground(new Color(255, 0, 0));jb[17].setBackground(new Color(255, 255, 0));        jb[18].setBackground(new Color(0, 255, 0));jb[19].setBackground(new Color(0,255,255));        jb[20].setBackground(new Color( 0, 0,255));jb[21].setBackground(new Color(255,0,255));        jb[22].setBackground(new Color(255,227,132));jb[23].setBackground(new Color(0,206,209));        jb[24].setBackground(new Color(175,238,238));jb[25].setBackground(new Color(202,135,216));        jb[26].setBackground(new Color(116, 0, 0));jb[27].setBackground(new Color(255,125,64));        //1、菜单条的添加        JMenuBar bar = new JMenuBar();        //设置菜单条到窗体上        this.setJMenuBar(bar);        //2、菜单添加到菜单条        JMenu menu_1 = new JMenu("文件(F)");        JMenu menu_2 = new JMenu("编辑(E)");        JMenu menu_3 = new JMenu("查看(V)");        JMenu menu_4 = new JMenu("图像(I)");        JMenu menu_5 = new JMenu("颜色(C)");        JMenu menu_6 = new JMenu("帮助(H)");        bar.add(menu_1);        bar.add(menu_2);        bar.add(menu_3);        bar.add(menu_4);        bar.add(menu_5);        bar.add(menu_6);        //3.菜单上添加菜单项        JMenuItem item []= {new JMenuItem("新建"),new JMenuItem("打开"),                new JMenuItem("保存"),new JMenuItem("另存为"),new JMenuItem("打印预览"),new JMenuItem("页面设置"),                new JMenuItem("打印"),new JMenuItem("发送"),new JMenuItem("退出")};        for(int i=0;i<9;i++) menu_1.add(item[i]);        JMenuItem item_1 []= {new JMenuItem("撤销"),new JMenuItem("全选"),                new JMenuItem("粘贴来源")};        for(int i=0;i<3;i++) menu_2.add(item_1[i]);        JMenuItem item_2 []= {new JMenuItem("工具箱"),new JMenuItem("颜料盒"),                new JMenuItem("状态栏"),new JMenuItem("缩放"),new JMenuItem("查看位图")};        for(int i=0;i<5;i++) menu_3.add(item_2[i]);        JMenuItem item_3 []= {new JMenuItem("翻转/旋转"),new JMenuItem("拉伸/扭曲"),                new JMenuItem("反色"),new JMenuItem("属性"),new JMenuItem("清除图像"),new JMenuItem("不透明处理")};        for(int i=0;i<6;i++) menu_4.add(item_3[i]);             menu_5.add(new JMenuItem("编辑颜色"));        JMenuItem item_4[] = {new JMenuItem("帮助主题"),new JMenuItem("关于画图")};        for(int i=0;i<2;i++) menu_6.add(item_4[i]);         this.setVisible(true);    }}

这里写图片描述