工具层:com.公司名.项目名.模块名
com.zking.xx.utils
实体:不属于任何一层,但是任意一层都依赖于它
com.zking.xx.entity
数据访问层: 通过工具层提供的材料来对数据库进行访问及数据的增删改查
com.zking.xx.dao
用户
IUsersDao
Users login(Users users);
UsersDaoImpl implements IUsersDao{}
UI显示层:通过数据访问层得到的数据进行页面显示
com.zking.xx.ui
测试
com.zking.xx.test
2.Swing包
Swing包中-----组件
三大类:顶层组件,中间组件,基础组件
顶层组件:JFrame,JDialog
中间组件:JPanel JScrollPane
基础组件:JLabel标签:存储文字,图像
JButton 按钮
JRadioButton 单选按钮| ButtonGroup 分组对象
JCheckBox 复选框按钮
JTextField 普通文本输入框
JPasswordField 密码输入框
JComboBox 下拉框
JFileChooser 文件选择器
JTextArea 文本域
创建窗体的流程。
1.自定义一个类继承(extends) JFrame窗口类
public class demo extends JFrame{}
2.编写demo类的构造函数
public demo(){}
3.在编写构造函数类 调用5个固定的方法来实现一个基本窗体
//设置标题
this.setTitle("且行且珍惜");
//设置窗口的大小
this.setSize(100,100);
//设置窗口关闭自己
this.setDefaultCloseOperation(3);
//窗口居中显示
this.setLocationRelativeTo(null);
//显示窗口
this.setVisible(true);
4.调节字体的大小,加粗,给字体加颜色
实例化对象名点.setFont(new Font("宋体",Font.BOLD,30))
实例化对象名点.setForeground(Color.blue)
//实例化标签
private JLabel jla = new JLabel("新增学生");
//给标签加粗改字体大小,型号
jla.setFont(new Font("宋体", Font.BOLD, 30));
//给字体添加颜色
jla.setForeground(Color.blue);
2.基础组件的使用流程
注意:基础组件是不能直接加入窗体容器中。必须有一个中间组件
1.实例化一个中间组件(JPanel)
JPanel jpa = new JPanel();
2.实例化指定的基础组件
JLabel jla = new JLabel("biaoqina");
3.将基础组件添加到中间组件中
jpa.add(jla);
4.将中间组件添加到窗体顶层容器中即可
this.getContentPane().add(jpa);
流式布局 FlowLayout
JPanel jpa = new JPanel();
FlowLayout fl = new FlowLayout ();
jpa.setLayout(fl);
边框布局 BorderLayout
//实例化中间布局对象
private JPanel jpa = new JPanel();
//实例化边框布局对象
private BorderLayout bor = new BorderLayout();
//将中间组件设置为边框布局
jpa.setLayout(bor)
// 将中间组件添加到窗体容器中的指定位置
this.getContentPane().add(jpa, "North");
网格布局 GridLayout
public Test() {
this.setTitle("且行且珍惜");//标签
this.setSize(400,300);//窗体大小
this.setDefaultCloseOperation(3);//关闭自己
this.setLocationRelativeTo(null);//窗体居中显示
JPanel jpa =new JPanel();//实例化中间组件对象
GridLayout gl = new GridLayout(3, 3);//实例化网格布局对象并设置横向纵向网格数量
jpa.setLayout(gl);//将中间面板设置为网格布局
jpa.add(new JButton("港币"));//给网格布局加按钮
jpa.add(new JButton("人民币"));//给网格布局加按钮
jpa.add(new JButton("美元"));//给网格布局加按钮
jpa.add(new JButton("欧元"));//给网格布局加按钮
jpa.add(new JButton("英镑"));//给网格布局加按钮
jpa.add(new JButton("主板"));//给网格布局加按钮
jpa.add(new JButton("内存"));//给网格布局加按钮
jpa.add(new JButton("硬盘"));//给网格布局加按钮
jpa.add(new JButton("显示器"));//给网格布局加按钮
this.getContentPane().add(jpa);//将中间面板放到顶层容器中
this.setVisible(true);//显示窗口
}
网袋布局 GridBagLayout+约束对象(控制坐标)GridBagConstraints
//1.实例化中间组件
JPanel jpa = new JPanel();
//2.实例化基本主键(按钮)
JButton jba = new JButton("按钮");
//3.实例化网袋布局对象
private GridBagLayout gbl = new GridBagLayout();
//4.实例化网袋布局约束对象
private GridBagConstraints gbc = new GridBagConstraints();
//5.设置jpa组件的布局为网袋布局
jpa.setLayout(gbl);
//6.开始布局
// ①抓取坐标
gbc.gridx=0;//x轴
gbc.gridy=0;//y轴
//②设置坐标
gbl.setConstraints(jla, gbc);
//③添加组件到JPanel面板中
jpb.add(jba);
绝对布局 null
private JPanel jpa = new JPanel(null); //中间主键加空布局
private JTextArea jta = new JTextArea(10,10);//文本域
private JScrollPane jsp = new JScrollPane(jta);//滚动条
private JTextField jtfa = new JTextField(15);//文本框
private JButton jba = new JButton("发送");//按钮
private JButton jbb = new JButton("禁用");//按钮
private JButton jbc = new JButton("启用");//按钮
private JButton jbd = new JButton("文件选择器");//按钮
private JButton jbe = new JButton("颜色选择器");//按钮
private JButton jbf = new JButton("退出操作");//按钮
/**
* 动作监听构造函数
*/
public void addClick() {
/**
* 发送按钮的监听事件
*/
jba.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//获取输入框的数据
String str =jtfa.getText();
//将获取的内容设置到文本域中
jta.setLineWrap(true);//当内容超过最宽度时,自动跨行
jta.append(str+"\n");//每获取一个数据自动跨行
jtfa.setText("");//清空
}
});
/**
* 禁用按钮
*/
jbb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jtfa.setEnabled(false);//不可编辑
}
});
/**
* 启用按钮
*/
jbc.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jtfa.setEnabled(true);//启用
}
});
/**
* 文件选择器
*/
jbd.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//实例化一个文件选择器
JFileChooser jfc = new JFileChooser();
String a = "请选择";
jfc.showDialog(null, a);//显示文件选择器
File file =jfc.getSelectedFile();//获取文件选择器中所选的文件
if (null!=file) {
// System.out.println(file.getPath());
jtfa.setText(file.getPath());//获取选中文件的存储路径
}
}
});
/**
* 颜色选择器
*/
jbe.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JColorChooser jcc = new JColorChooser();//实例化颜色选择器
Color color = jcc.showDialog(null, "请选中颜色", Color.yellow);//显示颜色选择器和给与提示,设置默认的颜色
jtfa.setForeground(color);//把选择的颜色放入输入框中
jta.setForeground(color);//把选择的颜色放入文本域中
}
});
/**
* 退出的事件监听
*/
jbf.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);//关闭
}
});
}
public Ui() {
this.setTitle("且行且珍惜");//标题
this.setSize(600,600);//窗口大小
this.setDefaultCloseOperation(3);//自动关闭
this.setLocationRelativeTo(null);//居中
jta.setEnabled(false);//不可编辑
//开始设置布局坐标
jsp.setBounds(0, 0, 580, 400);//给文本域设置坐标和大小
jpa.add(jsp);//把文本域放到中间组建中
jtfa.setBounds(0,410,580,40);//设置文本框的大小和坐标
jpa.add(jtfa);//把文本域放到中间组建中
jba.setBounds(20,530,75,20);//设置按钮的大小和坐标
jpa.add(jba);//把按钮放到顶层容器中
jbb.setBounds(100, 530, 75, 20);//设置按钮的大小和坐标
jpa.add(jbb);//把按钮放到顶层容器中
jbc.setBounds(180, 530, 75, 20);//设置按钮的大小和坐标
jpa.add(jbc);//把按钮放到顶层容器中
jbd.setBounds(260, 530, 99, 20);//设置按钮的大小和坐标
jpa.add(jbd);//把按钮放到顶层容器中
jbe.setBounds(365, 530, 99, 20);//设置按钮的大小和坐标
jpa.add(jbe);//把按钮放到顶层容器中
jbf.setBounds(468, 530, 99, 20);//设置按钮的大小和坐标
jpa.add(jbf);//把按钮放到顶层容器中
jpa.setBackground(new Color(55,55,128));//设置背景颜色
addClick();//动作监听实例化构造函数
this.getContentPane().add(jpa);//把中间主键放到顶层容器中
this.setVisible(true);//窗口可见
}
表格对象:JTable
1.实例化表格的模式对象
DefaultTableModel dtm = new DefaultTableModel ();
2.实例化表格对象
JTable jta = new JTable(dtm);
3.将表格加入滚动面板
JScroollPane jsp = new JScrollPane(jta);
4.利用表格默认模式对象设置表头
dtm.addColum("字段");
dtm.addRow();