You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

205 lines
4.9 KiB

package com.hm.ui;
import java.awt.BorderLayout;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import com.hm.bean.Pinpin;
import com.hm.dao.PinpinDao;
public class MainFrame extends JFrame {
//上面
JPanel jp1 = new JPanel();
//查询 根据多字段查询
JLabel jl = new JLabel("活动:");
JTextField jt = new JTextField(10);
JLabel jl1 = new JLabel("用途:");
JTextField jt1 = new JTextField(10);
JButton jb = new JButton("查询");
JButton ripx = new JButton("按照日期排序");
JButton slpx = new JButton("查看接取状态");
//中间
JPanel jp2 = new JPanel();
DefaultTableModel dtm = new DefaultTableModel();
JTable jta = new JTable(dtm);
JScrollPane jsp = new JScrollPane(jta);
//下面
JPanel jp3 = new JPanel();
JButton jb1 = new JButton("发布任务");
JButton jb2 = new JButton("删除任务");
JButton jb3 = new JButton("修改任务");
JButton jb4 = new JButton("接取任务");
//显示数据表格
PinpinDao bd = new PinpinDao();
private void show(Pinpin b) {
ArrayList<Pinpin> li = bd.select(b);
//清除之前的数据表格
for(int i=0;i<dtm.getRowCount();i++) {
dtm.setRowCount(0);
}
for(int i=0;i<li.size();i++) {
Vector<Object> v = new Vector<>();
v.add(li.get(i).getId());
v.add(li.get(i).getName());
v.add(li.get(i).getPress());
v.add(li.get(i).getTime());
v.add(li.get(i).getNum());
dtm.addRow(v);
}
}
private void riqipx(Pinpin b) {
ArrayList<Pinpin> li = bd.riqipx(b);
//清除之前的数据表格
for(int i=0;i<dtm.getRowCount();i++) {
dtm.setRowCount(0);
}
for(int i=0;i<li.size();i++) {
Vector<Object> v = new Vector<>();
v.add(li.get(i).getId());
v.add(li.get(i).getName());
v.add(li.get(i).getPress());
v.add(li.get(i).getTime());
v.add(li.get(i).getNum());
dtm.addRow(v);
}
}
private void shuliangpx(Pinpin b) {
ArrayList<Pinpin> li = bd.shuliangpx(b);
//清除之前的数据表格
for(int i=0;i<dtm.getRowCount();i++) {
dtm.setRowCount(0);
}
for(int i=0;i<li.size();i++) {
Vector<Object> v = new Vector<>();
v.add(li.get(i).getId());
v.add(li.get(i).getName());
v.add(li.get(i).getPress());
v.add(li.get(i).getTime());
v.add(li.get(i).getNum());
dtm.addRow(v);
}
}
public MainFrame() {
this.setTitle("首页");// 设置窗口标题
this.setSize(800, 500);// 设置窗口大小
this.setLocationRelativeTo(null);// 设置窗口居中
this.setDefaultCloseOperation(3);// 设置窗口关闭程序自动结束
this.setResizable(true);// 设置窗口不可更改
// 添加第一部分
jp1.add(jl);
jp1.add(jt);
jp1.add(jl1);
jp1.add(jt1);
jp1.add(jb);
jp1.add(ripx);
jp1.add(slpx);
jb.addActionListener((e) -> {
// 按钮点击事件
Pinpin b = new Pinpin();
String name = jt.getText();
b.setName(name);
String press = jt1.getText();
b.setPress(press);
show(b);
});
ripx.addActionListener((e) ->{
Pinpin b = new Pinpin();
String name = jt.getText();
b.setName(name);
String press = jt1.getText();
b.setPress(press);
riqipx(b);
});
slpx.addActionListener((e) ->{
Pinpin b = new Pinpin();
shuliangpx(b);
});
// 添加第二部分
dtm.addColumn("编号");
dtm.addColumn("活动");
dtm.addColumn("用途");
dtm.addColumn("日期");
dtm.addColumn("状态");
show(null);
// 添加第三部分
jp3.add(jb1);
jp3.add(jb2);
jp3.add(jb3);
jp3.add(jb4);
// 增加
jb1.addActionListener((e) -> {
//跳转一个新的窗口
new AddFrame();
dispose();
});
//删除
jb2.addActionListener((e) -> {
//选中你要删除的行
int i = jta.getSelectedRow();
if(i>=0) {
//获取选中这一行的id
Object o = dtm.getValueAt(i, 0);
int id = Integer.parseInt(o.toString());
//是否删除
int j = JOptionPane.showConfirmDialog(null, "确认删除吗?");
if(j==0) {
//确认删除
bd.delete(id);
show(null);
}
}else {
JOptionPane.showMessageDialog(null, "请选择你要删除的行");
}
});
//修改
jb3.addActionListener((e) -> {
//选中你要修改的行
int i = jta.getSelectedRow();
if(i>=0) {
//获取选中这一行的id
Object o = dtm.getValueAt(i, 0);
int id = Integer.parseInt(o.toString());
Pinpin b = bd.selectId(id);
new UpdateFrame(b);
dispose();
}else {
JOptionPane.showMessageDialog(null, "请选择你要修改的行");
}
});
this.add(jp1, BorderLayout.NORTH);
this.add(jsp, BorderLayout.CENTER);
this.add(jp3, BorderLayout.SOUTH);
this.setVisible(true);// 显示窗口
}
public static void main(String[] args) {
new MainFrame();
}
}