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); }}
- UI基础-网络编程
- 基础UI编程
- 基础UI编程
- UI基础编程
- Android基础UI编程(1)
- Andriod编程基础(三):Android UI 基本常用组件实例
- UI设计编程:基础视图、程序启动流程
- UI基础
- UI基础
- UI基础
- UI基础
- UI基础
- UI基础
- UI基础
- android学习----基础UI编程(二)之TextView 和 EditView(转)
- 【jQuery基础编程】jQuery-UI实现折叠面板里的控件拖曳
- android基础UI组件
- Android UI 绘图基础
- android retrofit post
- 看看这五种博客推广方法的具体说明
- Linux中重要目录及重要命令
- TensorFlow学习--模型的存储与恢复
- MySQL数据库的一些常用命令
- UI基础编程
- Netty 快速入门
- <转载>java(25):Spring框架简介,总结的很好!
- 动态链编与静态链编
- jQuery之内部插入易混淆方法解析
- Codeforces Round #439 (Div. 2) 869 C. The Intriguing Obsession
- MVP+recyclerview网络请求列表数据
- 使用spring管理数据库的链接,总是连接超时com.mchange.v2.resourcepool.TimeoutException
- 添加服务到开机自动启动(centos7开机自启动nginx,php-fpm)