简单Swing界面笔记

非常简单到Swing界面

第一种方式

//图形用户界面
fun main(args: Array) {
//创建窗口对象
val frame = JFrame(“MyFrame”)
// frame.title = “这是个头文件名字”
//创建Label
val label = JLabel(“Hello Swing”)
//获取窗口内容面板
val pane = frame.contentPane
//添加Label到内容面板
pane.add(label)
//设置窗口大小
frame.setSize(500,500)
//设置窗口可见
frame.isVisible = true
}

第二种方式

package SwingDemo
import javax.swing.JFrame
import javax.swing.JLabel
//以类到方式创建了面板
class MyFrame(title:String) : JFrame(title) {
//初始化
init {
val label =JLabel(“Hello Swing”)
// 获取窗口到内容面板
val pane = contentPane
//添加label到内容面板
pane.add(label)
setSize(500,500)
isVisible = true
}
}
fun main(args: Array) {
MyFrame(“MyFrame”)
}

用类到话比较好在其他类使用。

Button设置并且添加监听器

1,创建button按键,并且设置 事件监听器
init {
val label =JLabel(“Hello Swing”)
val button1 = JButton(“按键名”)
获取窗口到内容面板
val pane = contentPane
//添加label到内容面板,并且把按键添加进去
pane.add(label,BorderLayout.TOP) 添加标签,并且在顶部显示
pane.add(button,BorderLayout.CENTER) 添加按键并且设置居中显示
setSize(500,500)
isVisible = true
//设置监听器
button1.addactionListener {
通过lambda很容易就可以实现了
label.text = “按键1触发成功了“
}
}
但是上述代码中存在一个问题,就是关闭窗口程序还在运行,所以要创建窗口监听事件
addWindowListener(object : WindowAdapert{ object到作用是匿名类,这个是kotlin基础到重点,因为很多地方需要用到object关键字
override fun windowClosing(e: WindowEvent?) {
super.windowClosing(e)
System.exit(0) 里面从参数写一个整数即可
}
})

Swing中到布局管理器

流式布局管理器: FlowLayout

具体方法
FlawLayout(align: Int) 创建一个flow对象,指定对齐方式,默认到水平和垂直间隙是5个单位
FlawLayout.CENTER 每一行组件都应该居中
FlawLayout.LEADING 每一行组件到都应该于容器方向到开始边对齐
FlawLayout.LEFT 每一行组件应该左对齐
FlawLayout.RIGHT 每一行组件应该右对齐
FlawLayout.TRAILING 每行组件都应该于容器方向到结束边对齐

Swing的默认布局管理器 BorderLayout

构造
BorderLayout(hgap : Int , vgap:Int) 指定组件之间的缝隙
BorderLayout() 默认不写就是组件之间没有缝隙
具体方法:
五个常用方法,指定组件的东西南北中的方向

GridLayout 格子布局

这种布局适合左九宫格之类的布局
构造
GridLayout(3,3) 3行3列的布局 就是九宫格了
这个布局会自动适配最佳的适配方案,但是建议使用前确定布局行列

绝对布局管理器

绝对布局管理器就是不采用布局管理器进行设置,而是使用如下几个方法:

setLocation(X , Y) 设置组件的位置
setSize (width,height) 设置组件的大小
setBounds(X,Y,W,H)设置组件的大小和位置
isResizable = Boolean 设置窗口大小是否可变 true可变
注意:如果使用布局管理器这3个方法就不再起作用了。

Swing组件

所有的Swing组件都是继承于JComponent

标签 和 按钮
JLabel() 可以显示文本,也可以显示图标
构造函数比较多,可以查看编译器提示
主要是设置文本或者图片之类的

按钮 JButton
可以设置点击事件,可以设置图标按钮
主要构造函数是4个,具体查看编译器提示

图片 ImageIcon 继承 icon
使用方法比如: JButton(Imageicon(图片路径)) 设置一个图片按钮

文本输入组件

文本框(JTextField)
JTextField() 默认构造
JTextField(width:Int)指定文本宽度:主要用于FlowLayout布局
密码框(JPasswordField)
文本区(JTextArea)

复选框和单选按钮

复选框(JCheckBox)
单选按钮(JRadioButton)
构造函数:
JCheckBox():建立一个新的JChcekBox.
JCheckBox(Icon icon):建立一个有图像但没有文字的JCheckBox.
JCheckBox(Icon icon,boolean selected):建立一个有图像但没有文字的JCheckBox,且设置其初始状态(有无被选取)。
JCheckBox(String text):建立一个有文字的JCheckBox.
JCheckBox(String text,boolean selected):建立一个有文字的JCheckBox,且设置其初始状态(有无被选取)。
JCheckBox(String text,Icon icon):建立一个有文字且有图像的JCheckBox,初始状态为无被选取。
JCheckBox(String text,Icon icon,boolean selected):建立一个有文字且有图像的JCheckBox,且设置其初始状态(有无被选取 )
复选框和单选按钮构造函数差不多,就不再重复了

下拉列表

JComboBox() 创建一个下拉列表
JComboBox(items:Array)创建一个下拉列表,items设置下拉列表的选项,内容可以为任意的,而不局限于String的

列表:
JList() 创建一个列表独享
JList(listData) 指定数组作为列表

分割面板

JSplitPane

JSplitPane(new Orientation:Int)创建分割面板,参数是布局方向
JSplitPane(new Orientation:Int,newLeftComponent:Component,newRightComponent:Compoent)创建分割面板,指定布局方向,指定左则面板组件,指定右侧面板组件

使用表格

JTable
JTable(dm:TableModel)通过模型创建表格,dm是模型对象,其中包含了表格要显示的数据
JTable(rowData:Array< Array > , ColuName:Array) 通过二维数组指定列名,创建一个表格对象,rowData是表格中的数据,coluName是列名
JTable(numRows:int , numColumns:Int) 指定行和列数创建一个空的表格对象
table.font 设置字体
table.tableHeader.font 设置表列标题字体
table.rowHeight 是指表行高
table.setselecttionMode //设置单选或者多选
val rowSM = table.selectionModel 有返回值,返回当前状态模型
rowSM.addListselectListener 设置监听器
其他方法就不再一一讲述了,具体百度

滚动面板 JScrollpane 当屏幕不够显示的适合,可以设置滚动面板

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值