java swing一篇轻松学习(高考后可以自学)
【摘要】 编辑前言:本文会将swing从0到jdbc操作全部讲完,希望能对大家有所帮助。环境与工具:系统环境:win10开发工具:Eclipse IDE for Java Developers - 2020-09数据库:MySQL5.6正文:目录前言:环境与工具:正文:1、swing窗口和面板容器窗口:(JFrame)编辑面板:(JPanel)2、swing布局管理setLayout边框布局B...
前言:
本文会将swing从0到jdbc操作全部讲完,希望能对大家有所帮助。
环境与工具:
系统环境:win10
开发工具:Eclipse IDE for Java Developers - 2020-09
数据库:MySQL5.6
正文:
目录
5、swing的表单操作(文本框、文本域、单选、复选、下拉)
随便创建一个java项目就行,swing包是自带的。
1、swing窗口和面板容器
窗口:(JFrame)
这里是类继承【JFrame】,然后完成基本设置,一定要显示true,不然看不见。
方法名称 | 概述 |
---|---|
getContentPane() | 返回此窗体的 contentPane 对象 |
getDefaultCloseOperation() | 返回用户在此窗体上单击“关闭”按钮时执行的操作 |
setContentPane(Container contentPane) | 设置 contentPane 属性 |
setDefaultCloseOperation(int operation) | 设置用户在此窗体上单击“关闭”按钮时默认执行的操作 |
setDefaultLookAndFeelDecorated (boolean defaultLookAndFeelDecorated) |
设置 JFrame 窗口使用的 Windows 外观(如边框、关 闭窗口的 小部件、标题等) |
setIconImage(Image image) | 设置要作为此窗口图标显不的图像 |
setJMenuBar( JMenuBar menubar) | 设置此窗体的菜单栏 |
setLayout(LayoutManager manager) | 设置 LayoutManager 属性 |
面板:(JPanel)
是一种中间层容器,它能容纳组件并将组件组合在一起,但它本身必须添加到其他容器中使用。
方法名及返回值类型 | 说明 |
---|---|
Component add(Component comp) | 将指定的组件追加到此容器的尾部 |
void remove(Component comp) | 从容器中移除指定的组件 |
void setFont(Font f) | 设置容器的字体 |
void setLayout(LayoutManager mgr) | 设置容器的布局管理器 |
void setBackground(Color c) | 设置组件的背景色 |
2、swing布局管理setLayout
边框布局BorderLayout
也就是需要自己定制位置:
咱们一般用的是上左右结构:
流式布局管理器FlowLayout
自己从上到下从左到右排序:
由于没有设置固定锁死的边框,所以可以拖拽。测试一下流,看看拉宽的效果:
卡片布局CardLayout
这个能用于切换,毕竟【cards.add(p1,"card1");】可以通过判断来处理:
网格布局GridLayout
也就是【CSS的栅格化】布局类似
3、swing标签JLabel
方法名称 | 说明 |
---|---|
void setText(Stxing text) | 定义 JLabel 将要显示的单行文本 |
void setIcon(Icon image) | 定义 JLabel 将要显示的图标 |
void setIconTextGap(int iconTextGap) | 如果 JLabel 同时显示图标和文本,则此属性定义它们之间的间隔 |
void setHorizontalTextPosition(int textPosition) | 设置 JLabel 的文本相对其图像的水平位置 |
void setHorizontalAlignment(int alignment) | 设置标签内容沿 X 轴的对齐方式 |
int getText() | 返回 JLabel 所显示的文本字符串 |
Component getLabelFor() | 获得将 JLabel 添加到的组件 |
int getIconTextGap() | 返回此标签中显示的文本和图标之间的间隔量 |
int getHorizontalTextPosition() | 返回 JLabel 的文本相对其图像的水平位置 |
int getHorizontalAlignment() | 返回 JLabel 沿 X 轴的对齐方式 |
4、swing按钮
方法名称 | 说明 |
---|---|
addActionListener(ActionListener listener) | 为按担组件注册 ActionListener 监听 |
void setIcon(Icon icon) | 设置按钮的默认图标 |
void setText(String text) | 设置按鈕的文本 |
void setMargin(Insets m) | 设置按钮边框和标签之间的空白 |
void setMnemonic(int nmemonic) | 设置按钮的键盘快捷键,所设置的快捷键在实际操作时需要结合 Alt 键进行实现 |
void setPressedIcon(Icon icon) | 设置按下按钮时的图标 |
void setSelectedIcon(Icon icon) | 设置选择按鈕时的图标 |
void setRolloveiicon(Icon icon) | 设置鼠标移动到按扭区域时的图标 |
void setDisabledIcon(Icon icon) | 设置按钮无效状态下的图标 |
void setVerticalAlignment(int alig) | 设置图标和文本的垂直对齐方式 |
void setHorizontalAlignment(int alig) | 设置图标和文本的水平对齐方式 |
void setEnable(boolean flag) | 启用或禁用按扭 |
void setVerticalTextPosition(int textPosition) | 设置文本相对于图标的垂直位置 |
void setHorizontalTextPosition(int textPosition) | 设置文本相对于图标的水平位置 |
5、swing的表单操作(文本框、文本域、单选、复选、下拉)
文本框JTextField:
方法名称 | 说明 |
---|---|
Dimension getPreferredSize() | 获得文本框的首选大小 |
void scrollRectToVisible(Rectangle r) | 向左或向右滚动文本框中的内容 |
void setColumns(int columns) | 设置文本框最多可显示内容的列数 |
void setFont(Font f) | 设置文本框的字体 |
void setScrollOffset(int scrollOffset) | 设置文本框的滚动偏移量(以像素为单位) |
void setHorizontalAlignment(int alignment) | 设置文本框内容的水平对齐方式 |
文本域JTextArea:
方法名称 | 说明 |
---|---|
void append(String str) | 将字符串 str 添加到文本域的最后位置 |
void setColumns(int columns) | 设置文本域的行数 |
void setRows(int rows) | 设置文本域的列数 |
int getColumns() | 获取文本域的行数 |
void setLineWrap(boolean wrap) | 设置文本域的换行策略 |
int getRows() | 获取文本域的列数 |
void insert(String str,int position) | 插入指定的字符串到文本域的指定位置 |
void replaceRange(String str,int start,int end) | 将指定的开始位 start 与结束位 end 之间的字符串用指定的字符串 str 取代 |
单选框JRadioButton:
复选框JCheckBox:
下拉JComboBox:
方法名称 | 说明 |
---|---|
void addItem(Object anObject) | 将指定的对象作为选项添加到下拉列表框中 |
void insertItemAt(Object anObject,int index) | 在下拉列表框中的指定索引处插入项 |
void removeltem(0bject anObject) | 在下拉列表框中删除指定的对象项 |
void removeItemAt(int anlndex) | 在下拉列表框中删除指定位置的对象项 |
void removeAllItems() | 从下拉列表框中删除所有项 |
int getItemCount() | 返回下拉列表框中的项数 |
Object getItemAt(int index) | 获取指定索引的列表项,索引从 0 开始 |
int getSelectedIndex() | 获取当前选择的索引 |
Object getSelectedltem() | 获取当前选择的项 |
6、swing列表框JList
7、swing事件监听Event
8、swing菜单JMenu
方法名称 | 说明 |
---|---|
add(Action a) | 创建连接到指定 Action 对象的新菜单项,并将其追加到此菜单的末尾 |
add(Component c) | 将某个组件追加到此菜单的末尾 |
add(Component c,int index) | 将指定组件添加到此容器的给定位置 |
add(JMenuItem menultem) | 将某个菜单项追加到此菜单的末尾 |
add(String s) | 创建具有指定文本的新菜单项,并将其追加到此菜单的末尾 |
addSeparator() | 将新分隔符追加到菜单的末尾 |
doCliclc(int pressTime) | 以编程方式执行“单击”操作 |
getDelay() | 返回子菜单向上或向下弹出前建议的延迟(以毫秒为单位) |
getltem(int pos) | 返回指定位置的 JMenuItem |
getItemCount() | 返回菜单上的项数,包括分隔符 |
getMenuComponent(int n) | 返回位于位置 n 的组件 |
getMenuComponents() | 返回菜单子组件的 Component 数组 |
getSubElements() | 返回由 MenuElement 组成的数组,其中包含此菜单组件的子菜单 |
insert(JMenuItem mi,int pos) | 在给定位置插入指定的 JMenuitem |
insert(String s,pos) | 在给定位置插入具有指定文本的新菜单项 |
insertSeparator(int index) | 在指定的位置插入分隔符 |
isMenuComponent(Component c) | 如果在子菜单层次结构中存在指定的组件,则返回 true |
isPopupMenuVisible() | 如果菜单的弹出窗口可见,则返回 rue |
isSelected() | 如果菜单是当前选择的(即高亮显示的)菜单,则返回 true |
isTopLevelMenu() | 如果菜单是“顶层菜单”(即菜单栏的直接子级),则返回 true |
setDelay(int d) | 设置菜单的 PopupMenu 向上或向下弹出前建议的延迟 |
setMenuLocation(int x,int y) | 设置弹出组件的位置 |
setPopupMenuVisible(boolean b) | 设置菜单弹出的可见性 |
setSelected(boolean b) | 设置菜单的选择状态 |
9、swing工具栏JToolBar
构造方法 | 说明 |
---|---|
JToolBar() | 创建新的工具栏,默认的方向为 HORIZONTAL |
JToolBar(int orientation) | 创建具有指定 orientation 的新工具栏 |
JToolBar(String name) | 创建一个具有指定 name 的新工具栏 |
JToolBar(String name,int orientation) | 创建一个具有指定 name 和 orientation 的新工具栏 |
方法名称 | 说明 |
---|---|
add(Action a) | 添加一个指派动作的新的 JButton |
addSeparator() | 将默认大小的分隔符添加到工具栏的末尾 |
addSeparator(Dimension size) | 将指定大小的分隔符添加到工具栏的末尾 |
getComponentAtIndex(int i) | 返回指定索引位置的组件 |
getComponentIndex(Component c) | 返回指定组件的索引 |
getMargin() | 返回工具栏边框和它的按钮之间的空白 |
getOrientation() | 返回工具栏的当前方向 |
isFloatable() | 获取 floatable 属性 |
isRollover() | 返回 rollover 状态 |
setBorderPainted(boolean b) | 设置 borderPainted 属性,如果需要绘制边框,则此属性为 true |
setFloatable(boolean b) | 设置 floatable 属性,如果要移动工具栏,此属性必须设置为 true |
setLayout(LayoutManager mgr) | 设置此容器的布局管理器 |
setMargin(Insets m) | 设置工具栏边框和它的按钮之间的空白 |
setOrientation(int o) | 设置工具栏的方向 |
setRollover(boolean rollover) | 设置此工具栏的 rollover 状态 |
10、swing文件选择器JFileChooser
11、swing对话框JOptionPane
12、swing表格JTable
绑定jdbc的数据就能做具体操作了
方法名称 | 说明 |
---|---|
getColumnCount() | 返回列模型中的列数 |
getColumnN ame(int column) | 返回出现在视图中 column 列位置处的列名称 |
getRowCount() | 返回 JTable 中可以显示的行数(给定无限空间) |
getRowSorter() | 返回负责排序的对象 |
getSelectedColumn() | 返回第一个选定列的索引,如果没有选定的列, 则返回 -1 |
getSelectedRow() | 返回第一个选定行的索引,如果没有选定的行, 则返回 -1 |
getValueAt(int row,int column) | 返回 row 和 column 位置的单元格值 |
isEditing() | 如果正在编辑单元格,则返回 true |
selectAll() | 选择表中的所有行、列和单元格 |
setColumnSelectionInterval(int index0,int index1) | 选择从 index0 到 index1之间(包含两端)的列 |
setRowSelectionInterval(int index0,int index1) | 选择从 index0 到 index1 之间(包含两端)的行 |
setTableHeader(JTableHeader tableHeader) | 将此 JTable 所使用的 tableHeader 设置为 newHeader |
setUpdateSelectionOnSort(boolean update) | 指定排序后是否应该更新选择 |
setValueAt(Object a Value,int row,int column) | 设置表模型中 row 和 column 位置的单元格值 |
本文虽然没有写数据库操作,但是后面会有一篇图形化框架的操作,我会在那一篇文章里搞定的。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)