java界面编写

  • 创建最顶级容器控件JFrame
  • add其他的次级容器控件JPanel
  • 次级容器控件JPanel通过设置布局管理器LayoutManager来调整子控件的布局
  • 案例: android剪贴板工具

文章目录

  • 控件 Component
    • 容器控件
    • 文本控件
    • 按钮控件
  • 布局管理器 LayoutManager
    • FlowLayout布局
    • BorderLayout布局
    • CardLayout布局
    • GirdLayout布局
    • BoxLayout 盒式布局
    • null 布局
  • 来个赞哦 么么哒


控件 Component


公共函数

setPreferredSize(Dimension preferredSize)					//设置此控件的最佳尺寸
setLayout(LayoutManager mgr)								//设置这个容器的布局管理器
setFont(Font font)  										//设置此组件的字体
add()														//添加控件

容器控件

  • JFrame 最顶级容器控件
new JFrame("这是第一个java界面");						//带标题的构造函数
setLocation(x,y)									//设置开始出来的位置			
setSize(int width, int height)						//设置设置窗口大小
setResizable(boolean resizable)						//设置用户是否可以改变框架大小
setDefaultCloseOperation(int operation)				//设置关闭方式
setJMenuBar(JMenuBar menubar)						//设置窗口的菜单栏
setVisible(true);									//设置开始显示	
  • JPanel 次级容器控件

文本控件

  • JTextField 单行的文本编辑框
setMargin(Insets m)							//设置内边距					
  • JTextArea 多行的文本编辑框
setMargin(Insets m)							//设置内边距	
setLineWrap(boolean wrap)					//设置是否多行	

按钮控件

  • JButton 按钮
addActionListener(ActionListener l)				//设置按钮监听

布局管理器 LayoutManager


布局管理器一般是用到容器控件JPanelsetLayout

FlowLayout布局

lowLayout布局是JPanel 的默认布局,组建按照加入的先后顺序从左到右排列,一行排满之后就转到下一行继续从左到右排列

setAlignment()							//设置布局方式 aligin 的取值为 FlowLayout.LEFT,FlowLayout.RIGHT,FlowLayout.CENTER

BorderLayout布局

Window型容器的默认布局(JFrame,JDialog) 容器空间简单的划分为东南西北中5个区域,中间的区域最大 ,由BorderLayout 中的静态变量WEST,EAST,SOUTH,NORTH,CENTER表示区域
添加到某一个区域的组件占有整个区域,再添加进来,旧的就会被替换掉 ,只能添加5个组件,5个以上的话使用其他的布局或者容器嵌套.

CardLayout布局

组件被层叠的放入容器,最先加入的在最上面,同一时刻容器只能从这些组件中选一个来显示,容器调用add(String s,Component b);的方式将组件b加入容器 s为代号和组件没有必然关系,不同的组件代号不能相同

调用show(Component con,s)的方法显示代号为s的容器 card.show(con,s); card.first(con) card.next(con),card.last(con) ,card.previous(con) 分别显示容器con的第一个,下一个,最后一个,上一个 组件

GirdLayout布局

把容器分成若干行和若干列的网格区域 构造方法 GirdLayout(int m,int n); 创建布局对象,指定行和列
可以添加m*n个组件 用add(Component c)将组件添加进入 ,从第一行第一个开始到最后一行最后一个 (每个网格强制相等)

BoxLayout 盒式布局

Box 创建的容器是盒式容器 默认布局是盒式布局并且不允许修改

盒式布局构造方法 BoxLayout(Container con,int axis);axis 的有效值 BoxLayout.X_AXIS, BoxLayout.Y_AXIS.决定盒式布局是行型还是列型 行(列)型组件再多也不会延伸到下一行 (列) ,沿着同一水平线或垂直线

Box 类调用静态方法 createHorizontalBox() 获得一个行型的盒式布局的盒式容器

Box类 调用静态方法 createVerticalBox() 获得一个列型的盒式布局的盒式容器

Box 调用静态方法 createVerticalStrut(int height) createHorizontalBox(int width) 得到不可见的Strut对象 设置水平(垂直)的Box之间的间距

null 布局

空布局可以准确的定位组件在容器中的位置和大小 setBounds(int a,int b,int width,int height) 设置位置和本身大小 , a,b 是组件在容器p中的坐标

来个赞哦 么么哒

你可能感兴趣的:(java)