Compare commits
29 Commits
@ -0,0 +1,117 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
|
import javax.swing.DefaultComboBoxModel;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.SwingConstants;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
import dao.GuanliyuanDao;
|
||||||
|
import dao.impl.GuanliyuanImpl;
|
||||||
|
import entity.Guanliyuan;
|
||||||
|
|
||||||
|
|
||||||
|
public class GuanliyuanAddUI extends JFrame {
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
GuanliyuanDao dao = new GuanliyuanImpl();
|
||||||
|
public GuanliyuanAddUI() {
|
||||||
|
init(null);
|
||||||
|
}
|
||||||
|
public GuanliyuanAddUI(Tableinter mui) {
|
||||||
|
init(mui);
|
||||||
|
}
|
||||||
|
public void init(Tableinter mui) {
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 643, 646);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(null);
|
||||||
|
JPanel panel = new JPanel();
|
||||||
|
contentPane.add(panel);
|
||||||
|
panel.setLayout(new GridLayout(0, 2, 0, 0));
|
||||||
|
JLabel yonghumingyclabel = new JLabel("用户名");
|
||||||
|
yonghumingyclabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(yonghumingyclabel);
|
||||||
|
JTextField yonghumingyctextField = new JTextField();
|
||||||
|
panel.add(yonghumingyctextField);
|
||||||
|
|
||||||
|
JLabel mimayclabel = new JLabel("密码");
|
||||||
|
mimayclabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(mimayclabel);
|
||||||
|
JTextField mimayctextField = new JTextField();
|
||||||
|
panel.add(mimayctextField);
|
||||||
|
|
||||||
|
JLabel jiaoseyclabel = new JLabel("角色");
|
||||||
|
jiaoseyclabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(jiaoseyclabel);
|
||||||
|
JComboBox jiaoseyccomboBox = new JComboBox();
|
||||||
|
jiaoseyccomboBox.setModel(new DefaultComboBoxModel(new String[] {"管理员"}));
|
||||||
|
panel.add(jiaoseyccomboBox);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
panel.setBounds(10, 10, 607, 90);
|
||||||
|
JButton button = new JButton("添加");
|
||||||
|
/**
|
||||||
|
新增按钮触发事件
|
||||||
|
*/
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
Guanliyuan bean=new Guanliyuan();
|
||||||
|
bean.setYonghumingyc(yonghumingyctextField.getText());
|
||||||
|
|
||||||
|
bean.setMimayc(mimayctextField.getText());
|
||||||
|
|
||||||
|
bean.setJiaoseyc(jiaoseyccomboBox.getSelectedItem().toString());
|
||||||
|
|
||||||
|
|
||||||
|
dao.create(bean);
|
||||||
|
JOptionPane.showMessageDialog(null, "添加成功");
|
||||||
|
if(mui!=null)
|
||||||
|
mui.refresh(dao.findAll());
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button.setBounds(173, 550, 93, 47);
|
||||||
|
contentPane.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("取消");
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button_1.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button_1.setBounds(334, 550, 93, 47);
|
||||||
|
contentPane.add(button_1);
|
||||||
|
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
public String getRadioValue(JPanel panel){
|
||||||
|
for(Component c:panel.getComponents()){
|
||||||
|
if(c instanceof JRadioButton){
|
||||||
|
if(((JRadioButton) c).isSelected()){
|
||||||
|
return ((JRadioButton)c).getText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
public class GuanliyuanManageUI extends JFrame{
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
new GuanliyuanManageUI().setVisible(true);
|
||||||
|
}
|
||||||
|
public GuanliyuanManageUI() {
|
||||||
|
setTitle("管理员管理");
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 879, 665);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(new BorderLayout(0, 0));
|
||||||
|
add(new GuanliyuanManageUIListPanel(""), BorderLayout.CENTER);
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,172 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.FlowLayout;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.Image;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Vector;
|
||||||
|
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
|
||||||
|
import dao.GuanliyuanDao;
|
||||||
|
import dao.impl.GuanliyuanImpl;
|
||||||
|
import entity.Guanliyuan;
|
||||||
|
|
||||||
|
public class GuanliyuanManageUIListPanel extends JPanel implements Tableinter{
|
||||||
|
GuanliyuanDao dao = new GuanliyuanImpl();
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private static String[] columnCount = { "id","用户名","密码","角色" };
|
||||||
|
public JTable table;
|
||||||
|
private static DefaultTableModel tableModel;
|
||||||
|
private String mainid;
|
||||||
|
|
||||||
|
public GuanliyuanManageUIListPanel(String mainid) {
|
||||||
|
this.mainid=mainid;
|
||||||
|
setLayout(new BorderLayout(0, 0));
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
contentPane.setLayout(new BorderLayout(0, 0));
|
||||||
|
add(contentPane);
|
||||||
|
JScrollPane scrollPane = new JScrollPane();
|
||||||
|
contentPane.add(scrollPane, BorderLayout.CENTER);
|
||||||
|
table = new JTable();
|
||||||
|
scrollPane.setViewportView(table);
|
||||||
|
JPanel toppanel = new JPanel();
|
||||||
|
contentPane.add(toppanel, BorderLayout.NORTH);
|
||||||
|
toppanel.setLayout(new GridLayout(2, 1, 0, 0));
|
||||||
|
|
||||||
|
JPanel btnpanel = new JPanel();
|
||||||
|
btnpanel.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 5));
|
||||||
|
toppanel.add(btnpanel);
|
||||||
|
|
||||||
|
|
||||||
|
JButton button = new JButton("添加");
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
new GuanliyuanAddUI(me()).setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
btnpanel.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("删除");
|
||||||
|
/**
|
||||||
|
删除操作
|
||||||
|
*/
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
int row = table.getSelectedRow();
|
||||||
|
if (row == -1) {
|
||||||
|
JOptionPane.showMessageDialog(null, "请选择一行进行删除");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String keyvalue = (String) table.getValueAt(row, 0);
|
||||||
|
/**
|
||||||
|
根据主键进行查询,如果查询到则删除
|
||||||
|
*/
|
||||||
|
Guanliyuan gl=new Guanliyuan();
|
||||||
|
gl.setId(Integer.valueOf(keyvalue));
|
||||||
|
dao.remove(gl);
|
||||||
|
JOptionPane.showMessageDialog(null, "删除成功");
|
||||||
|
refresh(dao.findAll());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
btnpanel.add(button_1);
|
||||||
|
|
||||||
|
JButton button_2 = new JButton("修改");
|
||||||
|
/**
|
||||||
|
修改操作
|
||||||
|
*/
|
||||||
|
button_2.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
int row = table.getSelectedRow();
|
||||||
|
if (row == -1) {
|
||||||
|
JOptionPane.showMessageDialog(null, "请选择一行进行修改");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//跳转到修改页面
|
||||||
|
new GuanliyuanUpdateUI(me()).setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
btnpanel.add(button_2);
|
||||||
|
refresh(dao.findAll());
|
||||||
|
}
|
||||||
|
public GuanliyuanManageUIListPanel me(){
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
//刷新表格列表
|
||||||
|
public void refresh(List list){
|
||||||
|
|
||||||
|
|
||||||
|
tableModel = new DefaultTableModel(transferList(list), columnCount){
|
||||||
|
public Class getColumnClass(int column) {
|
||||||
|
Vector<?> v = (Vector<?>) dataVector.elementAt(0);
|
||||||
|
if(v.elementAt(column)!=null){
|
||||||
|
return v.elementAt(column).getClass();
|
||||||
|
}else{
|
||||||
|
return String.class;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public boolean isCellEditable(int row, int col) {
|
||||||
|
Class<?> columnClass = getColumnClass(col);
|
||||||
|
return columnClass != ImageIcon.class;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
table.setModel(tableModel);
|
||||||
|
|
||||||
|
|
||||||
|
updateRowHeights();
|
||||||
|
}
|
||||||
|
//自动调整列高
|
||||||
|
private void updateRowHeights()
|
||||||
|
{
|
||||||
|
for (int row = 0; row < table.getRowCount(); row++)
|
||||||
|
{
|
||||||
|
int rowHeight = table.getRowHeight();
|
||||||
|
|
||||||
|
for (int column = 0; column < table.getColumnCount(); column++)
|
||||||
|
{
|
||||||
|
Component comp = table.prepareRenderer(table.getCellRenderer(row, column), row, column);
|
||||||
|
rowHeight = Math.max(rowHeight, comp.getPreferredSize().height);
|
||||||
|
}
|
||||||
|
table.setRowHeight(row, rowHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//将实体列表转换为表格实体
|
||||||
|
public static Object[][] transferList(List<Guanliyuan> list) {
|
||||||
|
Object[][] olist = new Object[list.size()][];
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
Object str[] = {list.get(i).getId().toString(), list.get(i).getYonghumingyc(),list.get(i).getMimayc(),list.get(i).getJiaoseyc() };
|
||||||
|
//如果包含图片格式则以图片形式显示
|
||||||
|
for (int j = 0; j < str.length; j++) {
|
||||||
|
if(str[j]!=null&&(str[j].toString().contains("png")||str[j].toString().contains("jpg")||str[j].toString().contains("gif"))){
|
||||||
|
str[j]=new ImageIcon(new ImageIcon(str[j].toString()).getImage().getScaledInstance(100, 100, Image.SCALE_DEFAULT));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
olist[i] = str;
|
||||||
|
}
|
||||||
|
|
||||||
|
return olist;
|
||||||
|
}
|
||||||
|
public JTable getTable() {
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
public String getMainid(){
|
||||||
|
return mainid;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,131 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
|
import javax.swing.DefaultComboBoxModel;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.SwingConstants;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
import dao.GuanliyuanDao;
|
||||||
|
import dao.impl.GuanliyuanImpl;
|
||||||
|
import entity.Guanliyuan;
|
||||||
|
public class GuanliyuanUpdateUI extends JFrame {
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GuanliyuanDao dao = new GuanliyuanImpl();
|
||||||
|
public GuanliyuanUpdateUI() {
|
||||||
|
init(null);
|
||||||
|
}
|
||||||
|
public GuanliyuanUpdateUI(Tableinter mui) {
|
||||||
|
init(mui);
|
||||||
|
}
|
||||||
|
public void init(Tableinter mui) {
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 643, 646);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(null);
|
||||||
|
Guanliyuan guanliyuan=null;
|
||||||
|
guanliyuan = dao.findById((String) mui.getTable().getValueAt(mui.getTable().getSelectedRow(), 0));
|
||||||
|
JPanel panel = new BackgroundPanel();
|
||||||
|
contentPane.add(panel);
|
||||||
|
panel.setLayout(new GridLayout(0, 2, 0, 0));
|
||||||
|
JLabel idlabel = new JLabel("id");
|
||||||
|
idlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(idlabel);
|
||||||
|
JTextField idtextField = new JTextField(guanliyuan.getId().toString());
|
||||||
|
idtextField.setEnabled(false);
|
||||||
|
panel.add(idtextField);
|
||||||
|
JLabel yonghumingyclabel = new JLabel("用户名");
|
||||||
|
yonghumingyclabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(yonghumingyclabel);
|
||||||
|
JTextField yonghumingyctextField = new JTextField(guanliyuan.getYonghumingyc());
|
||||||
|
panel.add(yonghumingyctextField);
|
||||||
|
|
||||||
|
JLabel mimayclabel = new JLabel("密码");
|
||||||
|
mimayclabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(mimayclabel);
|
||||||
|
JTextField mimayctextField = new JTextField(guanliyuan.getMimayc());
|
||||||
|
panel.add(mimayctextField);
|
||||||
|
|
||||||
|
JLabel jiaoseyclabel = new JLabel("角色");
|
||||||
|
jiaoseyclabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(jiaoseyclabel);
|
||||||
|
JComboBox jiaoseyccomboBox = new JComboBox();
|
||||||
|
jiaoseyccomboBox.setModel(new DefaultComboBoxModel(new String[] {"管理员"}));
|
||||||
|
jiaoseyccomboBox.setSelectedItem(guanliyuan.getJiaoseyc());
|
||||||
|
panel.add(jiaoseyccomboBox);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
panel.setBounds(10, 10, 607, 120);
|
||||||
|
JButton button = new JButton("修改");
|
||||||
|
/**
|
||||||
|
修改按钮触发事件
|
||||||
|
*/
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
|
||||||
|
Guanliyuan bean=new Guanliyuan();
|
||||||
|
bean.setYonghumingyc(yonghumingyctextField.getText());
|
||||||
|
|
||||||
|
bean.setMimayc(mimayctextField.getText());
|
||||||
|
|
||||||
|
bean.setJiaoseyc(jiaoseyccomboBox.getSelectedItem().toString());
|
||||||
|
|
||||||
|
bean.setId(Integer.valueOf(idtextField.getText()));
|
||||||
|
|
||||||
|
|
||||||
|
dao.modify(bean);
|
||||||
|
JOptionPane.showMessageDialog(null, "修改成功");
|
||||||
|
//刷新主界面列表
|
||||||
|
if(mui!=null)
|
||||||
|
mui.refresh(dao.findAll());
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button.setBounds(173, 550, 93, 47);
|
||||||
|
contentPane.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("取消");
|
||||||
|
/**
|
||||||
|
取消按钮触发事件
|
||||||
|
*/
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button_1.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button_1.setBounds(334, 550, 93, 47);
|
||||||
|
contentPane.add(button_1);
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
public String getRadioValue(JPanel panel){
|
||||||
|
for(Component c:panel.getComponents()){
|
||||||
|
if(c instanceof JRadioButton){
|
||||||
|
if(((JRadioButton) c).isSelected()){
|
||||||
|
return ((JRadioButton)c).getText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,132 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.EventQueue;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
|
import javax.swing.DefaultComboBoxModel;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JPasswordField;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
import dao.GuanliyuanDao;
|
||||||
|
import dao.impl.GuanliyuanImpl;
|
||||||
|
import entity.Guanliyuan;
|
||||||
|
|
||||||
|
public class LoginUI extends JFrame {
|
||||||
|
|
||||||
|
GuanliyuanDao dao = new GuanliyuanImpl();
|
||||||
|
public static String username;
|
||||||
|
public static String role;
|
||||||
|
private JPanel contentPane;
|
||||||
|
private JTextField textField;
|
||||||
|
private JPasswordField textField_1;
|
||||||
|
private JComboBox comboBox;
|
||||||
|
public static void main(String[] args) {
|
||||||
|
EventQueue.invokeLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
|
||||||
|
if ("Nimbus".equals(info.getName())) {
|
||||||
|
javax.swing.UIManager.setLookAndFeel(info.getClassName());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LoginUI frame = new LoginUI();
|
||||||
|
frame.setVisible(true);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public LoginUI() {
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 643, 508);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(null);
|
||||||
|
setTitle("家庭收支管理系统");
|
||||||
|
JLabel label = new JLabel("用户名");
|
||||||
|
label.setFont(new Font("楷体", Font.PLAIN, 20));
|
||||||
|
label.setBounds(104, 125, 110, 32);
|
||||||
|
contentPane.add(label);
|
||||||
|
|
||||||
|
textField = new JTextField();
|
||||||
|
textField.setBounds(224, 119, 227, 38);
|
||||||
|
contentPane.add(textField);
|
||||||
|
textField.setColumns(10);
|
||||||
|
|
||||||
|
JLabel label_1 = new JLabel("密码");
|
||||||
|
label_1.setFont(new Font("楷体", Font.PLAIN, 20));
|
||||||
|
label_1.setBounds(104, 210, 110, 32);
|
||||||
|
contentPane.add(label_1);
|
||||||
|
|
||||||
|
textField_1 = new JPasswordField();
|
||||||
|
textField_1.setColumns(10);
|
||||||
|
textField_1.setBounds(224, 204, 227, 38);
|
||||||
|
contentPane.add(textField_1);
|
||||||
|
|
||||||
|
JButton button = new JButton("登录");
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
Guanliyuan gl = dao.findByUsername(textField.getText());
|
||||||
|
if(gl!=null){
|
||||||
|
if(gl.getMimayc().equals(textField_1.getText())){
|
||||||
|
username=gl.getYonghumingyc();
|
||||||
|
role=gl.getJiaoseyc();
|
||||||
|
if(!role.equals(comboBox.getSelectedItem().toString())){
|
||||||
|
JOptionPane.showMessageDialog(null, "用户名或密码错误,登录失败");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
JOptionPane.showMessageDialog(null, "登录成功");
|
||||||
|
MainUI frame = new MainUI();
|
||||||
|
frame.setVisible(true);
|
||||||
|
setVisible(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JOptionPane.showMessageDialog(null, "用户名或密码错误,登录失败");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button.setFont(new Font("楷体", Font.PLAIN, 20));
|
||||||
|
button.setBounds(175, 371, 105, 38);
|
||||||
|
contentPane.add(button);
|
||||||
|
JButton button_1 = new JButton("注册");
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
RegistUI frame = new RegistUI();
|
||||||
|
frame.setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button_1.setFont(new Font("楷体", Font.PLAIN, 20));
|
||||||
|
button_1.setBounds(332, 371, 105, 38);
|
||||||
|
contentPane.add(button_1);
|
||||||
|
JLabel lblNewLabel = new JLabel("家庭收支管理系统");
|
||||||
|
lblNewLabel.setFont(new Font("楷体", Font.PLAIN, 28));
|
||||||
|
lblNewLabel.setBounds(235, 28, 497, 55);
|
||||||
|
contentPane.add(lblNewLabel);
|
||||||
|
|
||||||
|
JLabel label_2 = new JLabel("角色");
|
||||||
|
label_2.setFont(new Font("楷体", Font.PLAIN, 20));
|
||||||
|
label_2.setBounds(104, 291, 110, 32);
|
||||||
|
contentPane.add(label_2);
|
||||||
|
|
||||||
|
comboBox = new JComboBox();
|
||||||
|
comboBox.setModel(new DefaultComboBoxModel(new String[] {"管理员"}));
|
||||||
|
comboBox.setBounds(224, 291, 227, 32);
|
||||||
|
contentPane.add(comboBox);
|
||||||
|
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,87 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.FlowLayout;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
import javax.swing.border.LineBorder;
|
||||||
|
public class MainUI extends JFrame {
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
MainUI frame = new MainUI();
|
||||||
|
frame.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MainUI() {
|
||||||
|
setTitle("家庭收支管理系统");
|
||||||
|
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 1159, 793);
|
||||||
|
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(new BorderLayout(0, 0));
|
||||||
|
|
||||||
|
JPanel toppanel = new JPanel();
|
||||||
|
toppanel.setBorder(new LineBorder(new Color(0, 0, 0)));
|
||||||
|
FlowLayout flowLayout = (FlowLayout) toppanel.getLayout();
|
||||||
|
flowLayout.setAlignment(FlowLayout.LEFT);
|
||||||
|
contentPane.add(toppanel, BorderLayout.NORTH);
|
||||||
|
|
||||||
|
JButton GuanliyuanManageUI = new JButton("管理员管理");
|
||||||
|
GuanliyuanManageUI.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
new GuanliyuanManageUI().setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
GuanliyuanManageUI.setFont(new Font("华文楷体", Font.PLAIN, 25));
|
||||||
|
|
||||||
|
toppanel.add(GuanliyuanManageUI);
|
||||||
|
JButton ZhuhuManageUI = new JButton("住户管理");
|
||||||
|
ZhuhuManageUI.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
new ZhuhuManageUI().setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
ZhuhuManageUI.setFont(new Font("华文楷体", Font.PLAIN, 25));
|
||||||
|
|
||||||
|
toppanel.add(ZhuhuManageUI);
|
||||||
|
JButton ShouruqingkuangManageUI = new JButton("收入情况管理");
|
||||||
|
ShouruqingkuangManageUI.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
new ShouruqingkuangManageUI().setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
ShouruqingkuangManageUI.setFont(new Font("华文楷体", Font.PLAIN, 25));
|
||||||
|
|
||||||
|
toppanel.add(ShouruqingkuangManageUI);
|
||||||
|
JButton ZhichuqingkuangManageUI = new JButton("支出情况管理");
|
||||||
|
ZhichuqingkuangManageUI.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
new ZhichuqingkuangManageUI().setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
ZhichuqingkuangManageUI.setFont(new Font("华文楷体", Font.PLAIN, 25));
|
||||||
|
|
||||||
|
toppanel.add(ZhichuqingkuangManageUI);
|
||||||
|
JButton exitbutton = new JButton("退出");
|
||||||
|
exitbutton.setFont(new Font("华文楷体", Font.PLAIN, 25));
|
||||||
|
toppanel.add(exitbutton);
|
||||||
|
exitbutton.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,94 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
|
import javax.swing.DefaultComboBoxModel;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.SwingConstants;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
import dao.GuanliyuanDao;
|
||||||
|
import dao.impl.GuanliyuanImpl;
|
||||||
|
import entity.Guanliyuan;
|
||||||
|
public class RegistUI extends JFrame {
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
GuanliyuanDao dao = new GuanliyuanImpl();
|
||||||
|
public RegistUI() {
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 643, 646);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(null);
|
||||||
|
JPanel panel = new JPanel();
|
||||||
|
|
||||||
|
contentPane.add(panel);
|
||||||
|
panel.setLayout(new GridLayout(3, 2, 0, 0));
|
||||||
|
JLabel yonghumingyclabel = new JLabel("用户名");
|
||||||
|
yonghumingyclabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(yonghumingyclabel);
|
||||||
|
JTextField yonghumingyctextField = new JTextField();
|
||||||
|
panel.add(yonghumingyctextField);
|
||||||
|
JLabel mimayclabel = new JLabel("密码");
|
||||||
|
mimayclabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(mimayclabel);
|
||||||
|
JTextField mimayctextField = new JTextField();
|
||||||
|
panel.add(mimayctextField);
|
||||||
|
JLabel jiaoseyclabel = new JLabel("角色");
|
||||||
|
jiaoseyclabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(jiaoseyclabel);
|
||||||
|
JComboBox jiaoseyccomboBox = new JComboBox();
|
||||||
|
jiaoseyccomboBox.setModel(new DefaultComboBoxModel(new String[] {"管理员"}));
|
||||||
|
panel.add(jiaoseyccomboBox);
|
||||||
|
|
||||||
|
panel.setBounds(10, 10, 607, 90);
|
||||||
|
JButton button = new JButton("注册");
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
Guanliyuan bean=new Guanliyuan();
|
||||||
|
bean.setYonghumingyc(yonghumingyctextField.getText());
|
||||||
|
bean.setMimayc(mimayctextField.getText());
|
||||||
|
bean.setJiaoseyc(jiaoseyccomboBox.getSelectedItem().toString());
|
||||||
|
dao.create(bean);
|
||||||
|
JOptionPane.showMessageDialog(null, "注册成功");
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button.setBounds(173, 550, 93, 47);
|
||||||
|
contentPane.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("取消");
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button_1.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button_1.setBounds(334, 550, 93, 47);
|
||||||
|
contentPane.add(button_1);
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
public String getRadioValue(JPanel panel){
|
||||||
|
for(Component c:panel.getComponents()){
|
||||||
|
if(c instanceof JRadioButton){
|
||||||
|
if(((JRadioButton) c).isSelected()){
|
||||||
|
return ((JRadioButton)c).getText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,141 @@
|
|||||||
|
package com.ym.view;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.SwingConstants;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
import com.eltima.components.ui.DatePicker;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import com.ym.dao.ShouruqingkuangymDao;
|
||||||
|
import com.ym.dao.impl.ShouruqingkuangymImpl;
|
||||||
|
import com.ym.entity.Shouruqingkuangym;
|
||||||
|
|
||||||
|
|
||||||
|
public class ShouruqingkuangAddUI extends JFrame {
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
ShouruqingkuangymDao dao = new ShouruqingkuangymImpl();
|
||||||
|
//ZhuhuDao zhuhuhuzhuymdao = new ZhuhuImpl();
|
||||||
|
public ShouruqingkuangAddUI() {
|
||||||
|
init(null);
|
||||||
|
}
|
||||||
|
public ShouruqingkuangAddUI(Tableinter mui) {
|
||||||
|
init(mui);
|
||||||
|
}
|
||||||
|
public void init(Tableinter mui) {
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 643, 646);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(null);
|
||||||
|
JPanel panel = new JPanel();
|
||||||
|
contentPane.add(panel);
|
||||||
|
panel.setLayout(new GridLayout(0, 2, 0, 0));
|
||||||
|
JLabel mingxiymlabel = new JLabel("明细");
|
||||||
|
mingxiymlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(mingxiymlabel);
|
||||||
|
JTextField mingxiymtextField = new JTextField();
|
||||||
|
panel.add(mingxiymtextField);
|
||||||
|
|
||||||
|
JLabel fashengriqiymlabel = new JLabel("发生日期");
|
||||||
|
fashengriqiymlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(fashengriqiymlabel);
|
||||||
|
DatePicker fashengriqiymtextField = new DatePicker(this);
|
||||||
|
fashengriqiymtextField.setPattern("yyyy-MM-dd");
|
||||||
|
fashengriqiymtextField.setTimePanleVisible(true);
|
||||||
|
fashengriqiymtextField.setEditorable(false);
|
||||||
|
panel.add(fashengriqiymtextField);
|
||||||
|
|
||||||
|
JLabel fashengfeiyongymlabel = new JLabel("发生费用");
|
||||||
|
fashengfeiyongymlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(fashengfeiyongymlabel);
|
||||||
|
JTextField fashengfeiyongymtextField = new JTextField();
|
||||||
|
panel.add(fashengfeiyongymtextField);
|
||||||
|
|
||||||
|
JLabel huzhuymlabel = new JLabel("户主");
|
||||||
|
huzhuymlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(huzhuymlabel);
|
||||||
|
|
||||||
|
JComboBox huzhuymcomboBox = new JComboBox();
|
||||||
|
List<Zhuhu> zhuhuhuzhuymlist=zhuhuhuzhudao.findAll();
|
||||||
|
huzhuymcomboBox.addItem("");
|
||||||
|
for (int i = 0; i < zhuhuhuzhuymlist.size(); i++) {
|
||||||
|
huzhuymcomboBox.addItem(zhuhuhuzhuymlist.get(i).getHuzhudxy());
|
||||||
|
}
|
||||||
|
panel.add(huzhuymcomboBox);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
panel.setBounds(10, 10, 607, 120);
|
||||||
|
JButton button = new JButton("添加");
|
||||||
|
/**
|
||||||
|
新增按钮触发事件
|
||||||
|
*/
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
Shouruqingkuangym bean=new Shouruqingkuangym();
|
||||||
|
bean.setMingxiym(mingxiymtextField.getText());
|
||||||
|
|
||||||
|
bean.setFashengriqiym(fashengriqiymtextField.getText());
|
||||||
|
|
||||||
|
bean.setFashengfeiyongym(fashengfeiyongymtextField.getText());
|
||||||
|
|
||||||
|
if(huzhuymcomboBox.getSelectedItem()!=null){
|
||||||
|
bean.setHuzhuym(huzhuymcomboBox.getSelectedItem().toString());
|
||||||
|
}else{
|
||||||
|
bean.setHuzhuym("");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
dao.create(bean);
|
||||||
|
JOptionPane.showMessageDialog(null, "添加成功");
|
||||||
|
if(mui!=null)
|
||||||
|
mui.refresh(dao.findAll());
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button.setBounds(173, 550, 93, 47);
|
||||||
|
contentPane.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("取消");
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button_1.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button_1.setBounds(334, 550, 93, 47);
|
||||||
|
contentPane.add(button_1);
|
||||||
|
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
public String getRadioValue(JPanel panel){
|
||||||
|
for(Component c:panel.getComponents()){
|
||||||
|
if(c instanceof JRadioButton){
|
||||||
|
if(((JRadioButton) c).isSelected()){
|
||||||
|
return ((JRadioButton)c).getText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
package com.ym.view;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
public class ShouruqingkuangManageUI extends JFrame{
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
new ShouruqingkuangManageUI().setVisible(true);
|
||||||
|
}
|
||||||
|
public ShouruqingkuangManageUI() {
|
||||||
|
setTitle("收入情况管理");
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 879, 665);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(new BorderLayout(0, 0));
|
||||||
|
add(new ShouruqingkuangManageUIListPanel(""), BorderLayout.CENTER);
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,176 @@
|
|||||||
|
package com.ym.view;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.FlowLayout;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.Image;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Vector;
|
||||||
|
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
|
||||||
|
import com.ym.dao.ShouruqingkuangymDao;
|
||||||
|
//import dao.ZhuhuDao;
|
||||||
|
import com.ym.dao.impl.ShouruqingkuangymImpl;
|
||||||
|
//import dao.impl.ZhuhuImpl;
|
||||||
|
import com.ym.entity.Shouruqingkuangym;
|
||||||
|
|
||||||
|
public class ShouruqingkuangManageUIListPanel extends JPanel implements Tableinter{
|
||||||
|
ShouruqingkuangymDao dao = new ShouruqingkuangymImpl();
|
||||||
|
//ZhuhuDao zhuhuhuzhuymdao = new ZhuhuImpl();
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private static String[] columnCount = { "id","明细","发生日期","发生费用","户主" };
|
||||||
|
public JTable table;
|
||||||
|
private static DefaultTableModel tableModel;
|
||||||
|
private String mainid;
|
||||||
|
|
||||||
|
public ShouruqingkuangManageUIListPanel(String mainid) {
|
||||||
|
this.mainid=mainid;
|
||||||
|
setLayout(new BorderLayout(0, 0));
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
contentPane.setLayout(new BorderLayout(0, 0));
|
||||||
|
add(contentPane);
|
||||||
|
JScrollPane scrollPane = new JScrollPane();
|
||||||
|
contentPane.add(scrollPane, BorderLayout.CENTER);
|
||||||
|
table = new JTable();
|
||||||
|
scrollPane.setViewportView(table);
|
||||||
|
JPanel toppanel = new JPanel();
|
||||||
|
contentPane.add(toppanel, BorderLayout.NORTH);
|
||||||
|
toppanel.setLayout(new GridLayout(2, 1, 0, 0));
|
||||||
|
JPanel btnpanel = new JPanel();
|
||||||
|
btnpanel.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 5));
|
||||||
|
toppanel.add(btnpanel);
|
||||||
|
|
||||||
|
|
||||||
|
JButton button = new JButton("添加");
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
new ShouruqingkuangAddUI(me()).setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
btnpanel.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("删除");
|
||||||
|
/**
|
||||||
|
删除操作
|
||||||
|
*/
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
int row = table.getSelectedRow();
|
||||||
|
if (row == -1) {
|
||||||
|
JOptionPane.showMessageDialog(null, "请选择一行进行删除");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String keyvalue = (String) table.getValueAt(row, 0);
|
||||||
|
/**
|
||||||
|
根据主键进行查询,如果查询到则删除
|
||||||
|
*/
|
||||||
|
Shouruqingkuangym sf=new Shouruqingkuangym();
|
||||||
|
sf.setId(Integer.valueOf(keyvalue));
|
||||||
|
dao.remove(sf);
|
||||||
|
JOptionPane.showMessageDialog(null, "删除成功");
|
||||||
|
refresh(dao.findAll());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
btnpanel.add(button_1);
|
||||||
|
|
||||||
|
JButton button_2 = new JButton("修改");
|
||||||
|
/**
|
||||||
|
修改操作
|
||||||
|
*/
|
||||||
|
button_2.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
int row = table.getSelectedRow();
|
||||||
|
if (row == -1) {
|
||||||
|
JOptionPane.showMessageDialog(null, "请选择一行进行修改");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//跳转到修改页面
|
||||||
|
new ShouruqingkuangUpdateUI(me()).setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
btnpanel.add(button_2);
|
||||||
|
refresh(dao.findAll());
|
||||||
|
}
|
||||||
|
public ShouruqingkuangManageUIListPanel me(){
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
//刷新表格列表
|
||||||
|
public void refresh(List list){
|
||||||
|
|
||||||
|
|
||||||
|
tableModel = new DefaultTableModel(transferList(list), columnCount){
|
||||||
|
public Class getColumnClass(int column) {
|
||||||
|
Vector<?> v = (Vector<?>) dataVector.elementAt(0);
|
||||||
|
if(v.elementAt(column)!=null){
|
||||||
|
return v.elementAt(column).getClass();
|
||||||
|
}else{
|
||||||
|
return String.class;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public boolean isCellEditable(int row, int col) {
|
||||||
|
Class<?> columnClass = getColumnClass(col);
|
||||||
|
return columnClass != ImageIcon.class;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
table.setModel(tableModel);
|
||||||
|
|
||||||
|
|
||||||
|
updateRowHeights();
|
||||||
|
}
|
||||||
|
//自动调整列高
|
||||||
|
private void updateRowHeights()
|
||||||
|
{
|
||||||
|
for (int row = 0; row < table.getRowCount(); row++)
|
||||||
|
{
|
||||||
|
int rowHeight = table.getRowHeight();
|
||||||
|
|
||||||
|
for (int column = 0; column < table.getColumnCount(); column++)
|
||||||
|
{
|
||||||
|
Component comp = table.prepareRenderer(table.getCellRenderer(row, column), row, column);
|
||||||
|
rowHeight = Math.max(rowHeight, comp.getPreferredSize().height);
|
||||||
|
}
|
||||||
|
table.setRowHeight(row, rowHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//将实体列表转换为表格实体
|
||||||
|
public static Object[][] transferList(List<Shouruqingkuangym> list) {
|
||||||
|
Object[][] olist = new Object[list.size()][];
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
Object str[] = {list.get(i).getId().toString(), list.get(i).getMingxiym(),list.get(i).getFashengriqiym(),list.get(i).getFashengfeiyongym(),list.get(i).getHuzhuym() };
|
||||||
|
//如果包含图片格式则以图片形式显示
|
||||||
|
for (int j = 0; j < str.length; j++) {
|
||||||
|
if(str[j]!=null&&(str[j].toString().contains("png")||str[j].toString().contains("jpg")||str[j].toString().contains("gif"))){
|
||||||
|
str[j]=new ImageIcon(new ImageIcon(str[j].toString()).getImage().getScaledInstance(100, 100, Image.SCALE_DEFAULT));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
olist[i] = str;
|
||||||
|
}
|
||||||
|
|
||||||
|
return olist;
|
||||||
|
}
|
||||||
|
public JTable getTable() {
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
public String getMainid(){
|
||||||
|
return mainid;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,162 @@
|
|||||||
|
package com.ym.view;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.SwingConstants;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
import com.eltima.components.ui.DatePicker;
|
||||||
|
import com.ym.dao.ShouruqingkuangymDao;
|
||||||
|
//import dao.ZhuhuDao;
|
||||||
|
import com.ym.dao.impl.ShouruqingkuangymImpl;
|
||||||
|
//import dao.impl.ZhuhuImpl;
|
||||||
|
import com.ym.entity.Shouruqingkuangym;
|
||||||
|
//import entity.Zhuhu;
|
||||||
|
public class ShouruqingkuangUpdateUI extends JFrame {
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ShouruqingkuangymDao dao = new ShouruqingkuangymImpl();
|
||||||
|
//ZhuhuDao zhuhuhuzhuymdao = new ZhuhuImpl();
|
||||||
|
public ShouruqingkuangUpdateUI() {
|
||||||
|
init(null);
|
||||||
|
}
|
||||||
|
public ShouruqingkuangUpdateUI(Tableinter mui) {
|
||||||
|
init(mui);
|
||||||
|
}
|
||||||
|
public void init(Tableinter mui) {
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 643, 646);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(null);
|
||||||
|
Shouruqingkuangym shouruqingkuang = dao.findByIdym((String) mui.getTable().getValueAt(mui.getTable().getSelectedRow(), 0));
|
||||||
|
JPanel panel = new BackgroundPanel();
|
||||||
|
contentPane.add(panel);
|
||||||
|
panel.setLayout(new GridLayout(0, 2, 0, 0));
|
||||||
|
JLabel idlabel = new JLabel("id");
|
||||||
|
idlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(idlabel);
|
||||||
|
JTextField idtextField = new JTextField(shouruqingkuang.getId().toString());
|
||||||
|
idtextField.setEnabled(false);
|
||||||
|
panel.add(idtextField);
|
||||||
|
JLabel mingxiymlabel = new JLabel("明细");
|
||||||
|
mingxiymlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(mingxiymlabel);
|
||||||
|
JTextField mingxiymtextField = new JTextField(shouruqingkuang.getMingxiym());
|
||||||
|
panel.add(mingxiymtextField);
|
||||||
|
|
||||||
|
JLabel fashengriqiymlabel = new JLabel("发生日期");
|
||||||
|
fashengriqiymlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(fashengriqiymlabel);
|
||||||
|
DatePicker fashengriqiymtextField = new DatePicker(this);
|
||||||
|
fashengriqiymtextField.setPattern("yyyy-MM-dd");
|
||||||
|
fashengriqiymtextField.setTimePanleVisible(true);
|
||||||
|
fashengriqiymtextField.setEditorable(false);
|
||||||
|
try {
|
||||||
|
fashengriqiymtextField.setDate(new SimpleDateFormat("yyyy-MM-dd").parse(shouruqingkuang.getFashengriqiym()));
|
||||||
|
} catch (ParseException e1) {
|
||||||
|
e1.printStackTrace();
|
||||||
|
}
|
||||||
|
panel.add(fashengriqiymtextField);
|
||||||
|
|
||||||
|
JLabel fashengfeiyongymlabel = new JLabel("发生费用");
|
||||||
|
fashengfeiyongymlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(fashengfeiyongymlabel);
|
||||||
|
JTextField fashengfeiyongymtextField = new JTextField(shouruqingkuang.getFashengfeiyongym());
|
||||||
|
panel.add(fashengfeiyongymtextField);
|
||||||
|
|
||||||
|
JLabel huzhuymlabel = new JLabel("户主");
|
||||||
|
huzhuymlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(huzhuymlabel);
|
||||||
|
|
||||||
|
JComboBox huzhuymcomboBox = new JComboBox();
|
||||||
|
//List<Zhuhu> zhuhuhuzhuymlist=zhuhuhuzhuymdao.findAll();
|
||||||
|
huzhuymcomboBox.addItem("");
|
||||||
|
for (int i = 0; i < zhuhuhuzhuymlist.size(); i++) {
|
||||||
|
huzhuymcomboBox.addItem(zhuhuhuzhuymlist.get(i).getHuzhudxy());
|
||||||
|
}
|
||||||
|
huzhuymcomboBox.setSelectedItem(shouruqingkuang.getHuzhuym());
|
||||||
|
panel.add(huzhuymcomboBox);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
panel.setBounds(10, 10, 607, 150);
|
||||||
|
JButton button = new JButton("修改");
|
||||||
|
/**
|
||||||
|
修改按钮触发事件
|
||||||
|
*/
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
|
||||||
|
Shouruqingkuangym bean=new Shouruqingkuangym();
|
||||||
|
bean.setMingxiym(mingxiymtextField.getText());
|
||||||
|
|
||||||
|
bean.setFashengriqiym(fashengriqiymtextField.getText());
|
||||||
|
|
||||||
|
bean.setFashengfeiyongym(fashengfeiyongymtextField.getText());
|
||||||
|
|
||||||
|
if(huzhuymcomboBox.getSelectedItem()!=null){
|
||||||
|
bean.setHuzhuym(huzhuymcomboBox.getSelectedItem().toString());
|
||||||
|
}else{
|
||||||
|
bean.setHuzhuym("");
|
||||||
|
}
|
||||||
|
|
||||||
|
bean.setId(Integer.valueOf(idtextField.getText()));
|
||||||
|
|
||||||
|
|
||||||
|
dao.modify(bean);
|
||||||
|
JOptionPane.showMessageDialog(null, "修改成功");
|
||||||
|
//刷新主界面列表
|
||||||
|
if(mui!=null)
|
||||||
|
mui.refresh(dao.findAll());
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button.setBounds(173, 550, 93, 47);
|
||||||
|
contentPane.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("取消");
|
||||||
|
/**
|
||||||
|
取消按钮触发事件
|
||||||
|
*/
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button_1.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button_1.setBounds(334, 550, 93, 47);
|
||||||
|
contentPane.add(button_1);
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
public String getRadioValue(JPanel panel){
|
||||||
|
for(Component c:panel.getComponents()){
|
||||||
|
if(c instanceof JRadioButton){
|
||||||
|
if(((JRadioButton) c).isSelected()){
|
||||||
|
return ((JRadioButton)c).getText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,141 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.SwingConstants;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
import com.eltima.components.ui.DatePicker;
|
||||||
|
|
||||||
|
import dao.ZhichuqingkuangDao;
|
||||||
|
import dao.ZhuhuDao;
|
||||||
|
import dao.impl.ZhichuqingkuangImpl;
|
||||||
|
import dao.impl.ZhuhuImpl;
|
||||||
|
import entity.Zhichuqingkuang;
|
||||||
|
import entity.Zhuhu;
|
||||||
|
|
||||||
|
public class ZhichuqingkuangAddUI extends JFrame {
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
ZhichuqingkuangDao dao = new ZhichuqingkuangImpl();
|
||||||
|
ZhuhuDao zhuhuhuzhuhssdao = new ZhuhuImpl();
|
||||||
|
public ZhichuqingkuangAddUI() {
|
||||||
|
init(null);
|
||||||
|
}
|
||||||
|
public ZhichuqingkuangAddUI(Tableinter mui) {
|
||||||
|
init(mui);
|
||||||
|
}
|
||||||
|
public void init(Tableinter mui) {
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 643, 646);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(null);
|
||||||
|
JPanel panel = new JPanel();
|
||||||
|
contentPane.add(panel);
|
||||||
|
panel.setLayout(new GridLayout(0, 2, 0, 0));
|
||||||
|
JLabel mingxihsslabel = new JLabel("明细");
|
||||||
|
mingxihsslabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(mingxihsslabel);
|
||||||
|
JTextField mingxihsstextField = new JTextField();
|
||||||
|
panel.add(mingxihsstextField);
|
||||||
|
|
||||||
|
JLabel fashengriqihsslabel = new JLabel("发生日期");
|
||||||
|
fashengriqihsslabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(fashengriqihsslabel);
|
||||||
|
DatePicker fashengriqihsstextField = new DatePicker(this);
|
||||||
|
fashengriqihsstextField.setPattern("yyyy-MM-dd");
|
||||||
|
fashengriqihsstextField.setTimePanleVisible(true);
|
||||||
|
fashengriqihsstextField.setEditorable(false);
|
||||||
|
panel.add(fashengriqihsstextField);
|
||||||
|
|
||||||
|
JLabel fashengfeiyonghsslabel = new JLabel("发生费用");
|
||||||
|
fashengfeiyonghsslabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(fashengfeiyonghsslabel);
|
||||||
|
JTextField fashengfeiyonghsstextField = new JTextField();
|
||||||
|
panel.add(fashengfeiyonghsstextField);
|
||||||
|
|
||||||
|
JLabel huzhuhsslabel = new JLabel("户主");
|
||||||
|
huzhuhsslabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(huzhuhsslabel);
|
||||||
|
|
||||||
|
JComboBox huzhuhsscomboBox = new JComboBox();
|
||||||
|
List<Zhuhu> zhuhuhuzhuhsslist=zhuhuhuzhuhssdao.findAll();
|
||||||
|
huzhuhsscomboBox.addItem("");
|
||||||
|
for (int i = 0; i < zhuhuhuzhuhsslist.size(); i++) {
|
||||||
|
huzhuhsscomboBox.addItem(zhuhuhuzhuhsslist.get(i).getHuzhudxy());
|
||||||
|
}
|
||||||
|
panel.add(huzhuhsscomboBox);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
panel.setBounds(10, 10, 607, 120);
|
||||||
|
JButton button = new JButton("添加");
|
||||||
|
/**
|
||||||
|
新增按钮触发事件
|
||||||
|
*/
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
Zhichuqingkuang bean=new Zhichuqingkuang();
|
||||||
|
bean.setMingxihss(mingxihsstextField.getText());
|
||||||
|
|
||||||
|
bean.setFashengriqihss(fashengriqihsstextField.getText());
|
||||||
|
|
||||||
|
bean.setFashengfeiyonghss(fashengfeiyonghsstextField.getText());
|
||||||
|
|
||||||
|
if(huzhuhsscomboBox.getSelectedItem()!=null){
|
||||||
|
bean.setHuzhuhss(huzhuhsscomboBox.getSelectedItem().toString());
|
||||||
|
}else{
|
||||||
|
bean.setHuzhuhss("");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
dao.create(bean);
|
||||||
|
JOptionPane.showMessageDialog(null, "添加成功");
|
||||||
|
if(mui!=null)
|
||||||
|
mui.refresh(dao.findAll());
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button.setBounds(173, 550, 93, 47);
|
||||||
|
contentPane.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("取消");
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button_1.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button_1.setBounds(334, 550, 93, 47);
|
||||||
|
contentPane.add(button_1);
|
||||||
|
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
public String getRadioValue(JPanel panel){
|
||||||
|
for(Component c:panel.getComponents()){
|
||||||
|
if(c instanceof JRadioButton){
|
||||||
|
if(((JRadioButton) c).isSelected()){
|
||||||
|
return ((JRadioButton)c).getText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
public class ZhichuqingkuangManageUI extends JFrame{
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
new ZhichuqingkuangManageUI().setVisible(true);
|
||||||
|
}
|
||||||
|
public ZhichuqingkuangManageUI() {
|
||||||
|
setTitle("支出情况管理");
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 879, 665);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(new BorderLayout(0, 0));
|
||||||
|
add(new ZhichuqingkuangManageUIListPanel(""), BorderLayout.CENTER);
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,175 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.FlowLayout;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.Image;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Vector;
|
||||||
|
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
|
||||||
|
import dao.ZhichuqingkuangDao;
|
||||||
|
import dao.ZhuhuDao;
|
||||||
|
import dao.impl.ZhichuqingkuangImpl;
|
||||||
|
import dao.impl.ZhuhuImpl;
|
||||||
|
import entity.Zhichuqingkuang;
|
||||||
|
|
||||||
|
public class ZhichuqingkuangManageUIListPanel extends JPanel implements Tableinter{
|
||||||
|
ZhichuqingkuangDao dao = new ZhichuqingkuangImpl();
|
||||||
|
ZhuhuDao zhuhuhuzhuhssdao = new ZhuhuImpl();
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private static String[] columnCount = { "id","明细","发生日期","发生费用","户主" };
|
||||||
|
public JTable table;
|
||||||
|
private static DefaultTableModel tableModel;
|
||||||
|
private String mainid;
|
||||||
|
|
||||||
|
public ZhichuqingkuangManageUIListPanel(String mainid) {
|
||||||
|
this.mainid=mainid;
|
||||||
|
setLayout(new BorderLayout(0, 0));
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
contentPane.setLayout(new BorderLayout(0, 0));
|
||||||
|
add(contentPane);
|
||||||
|
JScrollPane scrollPane = new JScrollPane();
|
||||||
|
contentPane.add(scrollPane, BorderLayout.CENTER);
|
||||||
|
table = new JTable();
|
||||||
|
scrollPane.setViewportView(table);
|
||||||
|
JPanel toppanel = new JPanel();
|
||||||
|
contentPane.add(toppanel, BorderLayout.NORTH);
|
||||||
|
toppanel.setLayout(new GridLayout(2, 1, 0, 0));
|
||||||
|
JPanel btnpanel = new JPanel();
|
||||||
|
btnpanel.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 5));
|
||||||
|
toppanel.add(btnpanel);
|
||||||
|
|
||||||
|
|
||||||
|
JButton button = new JButton("添加");
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
new ZhichuqingkuangAddUI(me()).setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
btnpanel.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("删除");
|
||||||
|
/**
|
||||||
|
删除操作
|
||||||
|
*/
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
int row = table.getSelectedRow();
|
||||||
|
if (row == -1) {
|
||||||
|
JOptionPane.showMessageDialog(null, "请选择一行进行删除");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String keyvalue = (String) table.getValueAt(row, 0);
|
||||||
|
/**
|
||||||
|
根据主键进行查询,如果查询到则删除
|
||||||
|
*/
|
||||||
|
Zhichuqingkuang zx=new Zhichuqingkuang();
|
||||||
|
zx.setId(Integer.valueOf(keyvalue));
|
||||||
|
dao.remove(zx);
|
||||||
|
JOptionPane.showMessageDialog(null, "删除成功");
|
||||||
|
refresh(dao.findAll());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
btnpanel.add(button_1);
|
||||||
|
|
||||||
|
JButton button_2 = new JButton("修改");
|
||||||
|
/**
|
||||||
|
修改操作
|
||||||
|
*/
|
||||||
|
button_2.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
int row = table.getSelectedRow();
|
||||||
|
if (row == -1) {
|
||||||
|
JOptionPane.showMessageDialog(null, "请选择一行进行修改");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//跳转到修改页面
|
||||||
|
new ZhichuqingkuangUpdateUI(me()).setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
btnpanel.add(button_2);
|
||||||
|
refresh(dao.findAll());
|
||||||
|
}
|
||||||
|
public ZhichuqingkuangManageUIListPanel me(){
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
//刷新表格列表
|
||||||
|
public void refresh(List list){
|
||||||
|
|
||||||
|
|
||||||
|
tableModel = new DefaultTableModel(transferList(list), columnCount){
|
||||||
|
public Class getColumnClass(int column) {
|
||||||
|
Vector<?> v = (Vector<?>) dataVector.elementAt(0);
|
||||||
|
if(v.elementAt(column)!=null){
|
||||||
|
return v.elementAt(column).getClass();
|
||||||
|
}else{
|
||||||
|
return String.class;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public boolean isCellEditable(int row, int col) {
|
||||||
|
Class<?> columnClass = getColumnClass(col);
|
||||||
|
return columnClass != ImageIcon.class;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
table.setModel(tableModel);
|
||||||
|
|
||||||
|
|
||||||
|
updateRowHeights();
|
||||||
|
}
|
||||||
|
//自动调整列高
|
||||||
|
private void updateRowHeights()
|
||||||
|
{
|
||||||
|
for (int row = 0; row < table.getRowCount(); row++)
|
||||||
|
{
|
||||||
|
int rowHeight = table.getRowHeight();
|
||||||
|
|
||||||
|
for (int column = 0; column < table.getColumnCount(); column++)
|
||||||
|
{
|
||||||
|
Component comp = table.prepareRenderer(table.getCellRenderer(row, column), row, column);
|
||||||
|
rowHeight = Math.max(rowHeight, comp.getPreferredSize().height);
|
||||||
|
}
|
||||||
|
table.setRowHeight(row, rowHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//将实体列表转换为表格实体
|
||||||
|
public static Object[][] transferList(List<Zhichuqingkuang> list) {
|
||||||
|
Object[][] olist = new Object[list.size()][];
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
Object str[] = {list.get(i).getId().toString(), list.get(i).getMingxihss(),list.get(i).getFashengriqihss(),list.get(i).getFashengfeiyonghss(),list.get(i).getHuzhuhss() };
|
||||||
|
//如果包含图片格式则以图片形式显示
|
||||||
|
for (int j = 0; j < str.length; j++) {
|
||||||
|
if(str[j]!=null&&(str[j].toString().contains("png")||str[j].toString().contains("jpg")||str[j].toString().contains("gif"))){
|
||||||
|
str[j]=new ImageIcon(new ImageIcon(str[j].toString()).getImage().getScaledInstance(100, 100, Image.SCALE_DEFAULT));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
olist[i] = str;
|
||||||
|
}
|
||||||
|
|
||||||
|
return olist;
|
||||||
|
}
|
||||||
|
public JTable getTable() {
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
public String getMainid(){
|
||||||
|
return mainid;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,163 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.SwingConstants;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
import com.eltima.components.ui.DatePicker;
|
||||||
|
|
||||||
|
import dao.ZhichuqingkuangDao;
|
||||||
|
import dao.ZhuhuDao;
|
||||||
|
import dao.impl.ZhichuqingkuangImpl;
|
||||||
|
import dao.impl.ZhuhuImpl;
|
||||||
|
import entity.Zhichuqingkuang;
|
||||||
|
import entity.Zhuhu;
|
||||||
|
public class ZhichuqingkuangUpdateUI extends JFrame {
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ZhichuqingkuangDao dao = new ZhichuqingkuangImpl();
|
||||||
|
ZhuhuDao zhuhuhuzhuhssdao = new ZhuhuImpl();
|
||||||
|
public ZhichuqingkuangUpdateUI() {
|
||||||
|
init(null);
|
||||||
|
}
|
||||||
|
public ZhichuqingkuangUpdateUI(Tableinter mui) {
|
||||||
|
init(mui);
|
||||||
|
}
|
||||||
|
public void init(Tableinter mui) {
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 643, 646);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(null);
|
||||||
|
Zhichuqingkuang zhichuqingkuang = dao.findById( (String) mui.getTable().getValueAt(mui.getTable().getSelectedRow(), 0));
|
||||||
|
JPanel panel = new BackgroundPanel();
|
||||||
|
contentPane.add(panel);
|
||||||
|
panel.setLayout(new GridLayout(0, 2, 0, 0));
|
||||||
|
JLabel idlabel = new JLabel("id");
|
||||||
|
idlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(idlabel);
|
||||||
|
JTextField idtextField = new JTextField(zhichuqingkuang.getId().toString());
|
||||||
|
idtextField.setEnabled(false);
|
||||||
|
panel.add(idtextField);
|
||||||
|
JLabel mingxihsslabel = new JLabel("明细");
|
||||||
|
mingxihsslabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(mingxihsslabel);
|
||||||
|
JTextField mingxihsstextField = new JTextField(zhichuqingkuang.getMingxihss());
|
||||||
|
panel.add(mingxihsstextField);
|
||||||
|
|
||||||
|
JLabel fashengriqihsslabel = new JLabel("发生日期");
|
||||||
|
fashengriqihsslabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(fashengriqihsslabel);
|
||||||
|
DatePicker fashengriqihsstextField = new DatePicker(this);
|
||||||
|
fashengriqihsstextField.setPattern("yyyy-MM-dd");
|
||||||
|
fashengriqihsstextField.setTimePanleVisible(true);
|
||||||
|
fashengriqihsstextField.setEditorable(false);
|
||||||
|
try {
|
||||||
|
fashengriqihsstextField.setDate(new SimpleDateFormat("yyyy-MM-dd").parse(zhichuqingkuang.getFashengriqihss()));
|
||||||
|
} catch (ParseException e1) {
|
||||||
|
e1.printStackTrace();
|
||||||
|
}
|
||||||
|
panel.add(fashengriqihsstextField);
|
||||||
|
|
||||||
|
JLabel fashengfeiyonghsslabel = new JLabel("发生费用");
|
||||||
|
fashengfeiyonghsslabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(fashengfeiyonghsslabel);
|
||||||
|
JTextField fashengfeiyonghsstextField = new JTextField(zhichuqingkuang.getFashengfeiyonghss());
|
||||||
|
panel.add(fashengfeiyonghsstextField);
|
||||||
|
|
||||||
|
JLabel huzhuhsslabel = new JLabel("户主");
|
||||||
|
huzhuhsslabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(huzhuhsslabel);
|
||||||
|
|
||||||
|
JComboBox huzhuhsscomboBox = new JComboBox();
|
||||||
|
List<Zhuhu> zhuhuhuzhuhsslist=zhuhuhuzhuhssdao.findAll();
|
||||||
|
huzhuhsscomboBox.addItem("");
|
||||||
|
for (int i = 0; i < zhuhuhuzhuhsslist.size(); i++) {
|
||||||
|
huzhuhsscomboBox.addItem(zhuhuhuzhuhsslist.get(i).getHuzhudxy());
|
||||||
|
}
|
||||||
|
huzhuhsscomboBox.setSelectedItem(zhichuqingkuang.getHuzhuhss());
|
||||||
|
panel.add(huzhuhsscomboBox);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
panel.setBounds(10, 10, 607, 150);
|
||||||
|
JButton button = new JButton("修改");
|
||||||
|
/**
|
||||||
|
修改按钮触发事件
|
||||||
|
*/
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
|
||||||
|
Zhichuqingkuang bean=new Zhichuqingkuang();
|
||||||
|
bean.setMingxihss(mingxihsstextField.getText());
|
||||||
|
|
||||||
|
bean.setFashengriqihss(fashengriqihsstextField.getText());
|
||||||
|
|
||||||
|
bean.setFashengfeiyonghss(fashengfeiyonghsstextField.getText());
|
||||||
|
|
||||||
|
if(huzhuhsscomboBox.getSelectedItem()!=null){
|
||||||
|
bean.setHuzhuhss(huzhuhsscomboBox.getSelectedItem().toString());
|
||||||
|
}else{
|
||||||
|
bean.setHuzhuhss("");
|
||||||
|
}
|
||||||
|
|
||||||
|
bean.setId(Integer.valueOf(idtextField.getText()));
|
||||||
|
|
||||||
|
|
||||||
|
dao.modify(bean);
|
||||||
|
JOptionPane.showMessageDialog(null, "修改成功");
|
||||||
|
//刷新主界面列表
|
||||||
|
if(mui!=null)
|
||||||
|
mui.refresh(dao.findAll());
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button.setBounds(173, 550, 93, 47);
|
||||||
|
contentPane.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("取消");
|
||||||
|
/**
|
||||||
|
取消按钮触发事件
|
||||||
|
*/
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button_1.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button_1.setBounds(334, 550, 93, 47);
|
||||||
|
contentPane.add(button_1);
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
public String getRadioValue(JPanel panel){
|
||||||
|
for(Component c:panel.getComponents()){
|
||||||
|
if(c instanceof JRadioButton){
|
||||||
|
if(((JRadioButton) c).isSelected()){
|
||||||
|
return ((JRadioButton)c).getText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,112 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.SwingConstants;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
import dao.ZhuhuDao;
|
||||||
|
import dao.impl.ZhuhuImpl;
|
||||||
|
import entity.Zhuhu;
|
||||||
|
|
||||||
|
|
||||||
|
public class ZhuhuAddUI extends JFrame {
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
ZhuhuDao dao = new ZhuhuImpl();
|
||||||
|
public ZhuhuAddUI() {
|
||||||
|
init(null);
|
||||||
|
}
|
||||||
|
public ZhuhuAddUI(Tableinter mui) {
|
||||||
|
init(mui);
|
||||||
|
}
|
||||||
|
public void init(Tableinter mui) {
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 643, 646);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(null);
|
||||||
|
JPanel panel = new JPanel();
|
||||||
|
contentPane.add(panel);
|
||||||
|
panel.setLayout(new GridLayout(0, 2, 0, 0));
|
||||||
|
JLabel huzhudxylabel = new JLabel("户主");
|
||||||
|
huzhudxylabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(huzhudxylabel);
|
||||||
|
JTextField huzhudxytextField = new JTextField();
|
||||||
|
panel.add(huzhudxytextField);
|
||||||
|
|
||||||
|
JLabel dizhidxylabel = new JLabel("地址");
|
||||||
|
dizhidxylabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(dizhidxylabel);
|
||||||
|
JTextField dizhidxytextField = new JTextField();
|
||||||
|
panel.add(dizhidxytextField);
|
||||||
|
|
||||||
|
JLabel lianxidianhuadxylabel = new JLabel("联系电话");
|
||||||
|
lianxidianhuadxylabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(lianxidianhuadxylabel);
|
||||||
|
JTextField lianxidianhuadxytextField = new JTextField();
|
||||||
|
panel.add(lianxidianhuadxytextField);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
panel.setBounds(10, 10, 607, 90);
|
||||||
|
JButton button = new JButton("添加");
|
||||||
|
/**
|
||||||
|
新增按钮触发事件
|
||||||
|
*/
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
Zhuhu bean=new Zhuhu();
|
||||||
|
bean.setHuzhudxy(huzhudxytextField.getText());
|
||||||
|
|
||||||
|
bean.setDizhidxy(dizhidxytextField.getText());
|
||||||
|
|
||||||
|
bean.setLianxidianhuadxy(lianxidianhuadxytextField.getText());
|
||||||
|
|
||||||
|
|
||||||
|
dao.create(bean);
|
||||||
|
JOptionPane.showMessageDialog(null, "添加成功");
|
||||||
|
if(mui!=null)
|
||||||
|
mui.refresh(dao.findAll());
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button.setBounds(173, 550, 93, 47);
|
||||||
|
contentPane.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("取消");
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button_1.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button_1.setBounds(334, 550, 93, 47);
|
||||||
|
contentPane.add(button_1);
|
||||||
|
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
public String getRadioValue(JPanel panel){
|
||||||
|
for(Component c:panel.getComponents()){
|
||||||
|
if(c instanceof JRadioButton){
|
||||||
|
if(((JRadioButton) c).isSelected()){
|
||||||
|
return ((JRadioButton)c).getText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
public class ZhuhuManageUI extends JFrame{
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
new ZhuhuManageUI().setVisible(true);
|
||||||
|
}
|
||||||
|
public ZhuhuManageUI() {
|
||||||
|
setTitle("住户管理");
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 879, 665);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(new BorderLayout(0, 0));
|
||||||
|
add(new ZhuhuManageUIListPanel(""), BorderLayout.CENTER);
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,172 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.FlowLayout;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.Image;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Vector;
|
||||||
|
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
|
||||||
|
import dao.ZhuhuDao;
|
||||||
|
import dao.impl.ZhuhuImpl;
|
||||||
|
import entity.Zhuhu;
|
||||||
|
|
||||||
|
public class ZhuhuManageUIListPanel extends JPanel implements Tableinter{
|
||||||
|
ZhuhuDao dao = new ZhuhuImpl();
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private static String[] columnCount = { "id","户主","地址","联系电话" };
|
||||||
|
public JTable table;
|
||||||
|
private static DefaultTableModel tableModel;
|
||||||
|
private String mainid;
|
||||||
|
|
||||||
|
public ZhuhuManageUIListPanel(String mainid) {
|
||||||
|
this.mainid=mainid;
|
||||||
|
setLayout(new BorderLayout(0, 0));
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
contentPane.setLayout(new BorderLayout(0, 0));
|
||||||
|
add(contentPane);
|
||||||
|
JScrollPane scrollPane = new JScrollPane();
|
||||||
|
contentPane.add(scrollPane, BorderLayout.CENTER);
|
||||||
|
table = new JTable();
|
||||||
|
scrollPane.setViewportView(table);
|
||||||
|
JPanel toppanel = new JPanel();
|
||||||
|
contentPane.add(toppanel, BorderLayout.NORTH);
|
||||||
|
toppanel.setLayout(new GridLayout(2, 1, 0, 0));
|
||||||
|
JPanel btnpanel = new JPanel();
|
||||||
|
btnpanel.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 5));
|
||||||
|
toppanel.add(btnpanel);
|
||||||
|
|
||||||
|
|
||||||
|
JButton button = new JButton("添加");
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
new ZhuhuAddUI(me()).setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
btnpanel.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("删除");
|
||||||
|
/**
|
||||||
|
删除操作
|
||||||
|
*/
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
int row = table.getSelectedRow();
|
||||||
|
if (row == -1) {
|
||||||
|
JOptionPane.showMessageDialog(null, "请选择一行进行删除");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String keyvalue = (String) table.getValueAt(row, 0);
|
||||||
|
/**
|
||||||
|
根据主键进行查询,如果查询到则删除
|
||||||
|
*/
|
||||||
|
Zhuhu zh=new Zhuhu();
|
||||||
|
zh.setId(Integer.valueOf(keyvalue));
|
||||||
|
dao.remove(zh);
|
||||||
|
JOptionPane.showMessageDialog(null, "删除成功");
|
||||||
|
refresh(dao.findAll());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
btnpanel.add(button_1);
|
||||||
|
|
||||||
|
JButton button_2 = new JButton("修改");
|
||||||
|
/**
|
||||||
|
修改操作
|
||||||
|
*/
|
||||||
|
button_2.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
int row = table.getSelectedRow();
|
||||||
|
if (row == -1) {
|
||||||
|
JOptionPane.showMessageDialog(null, "请选择一行进行修改");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//跳转到修改页面
|
||||||
|
new ZhuhuUpdateUI(me()).setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
btnpanel.add(button_2);
|
||||||
|
System.out.println(dao.findAll().size());
|
||||||
|
refresh(dao.findAll());
|
||||||
|
}
|
||||||
|
public ZhuhuManageUIListPanel me(){
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
//刷新表格列表
|
||||||
|
public void refresh(List list){
|
||||||
|
|
||||||
|
|
||||||
|
tableModel = new DefaultTableModel(transferList(list), columnCount){
|
||||||
|
public Class getColumnClass(int column) { /*方法*/ /*返回列*/
|
||||||
|
Vector<?> v = (Vector<?>) dataVector.elementAt(0);
|
||||||
|
if(v.elementAt(column)!=null){
|
||||||
|
return v.elementAt(column).getClass();
|
||||||
|
}else{
|
||||||
|
return String.class;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public boolean isCellEditable(int row, int col) {
|
||||||
|
Class<?> columnClass = getColumnClass(col);
|
||||||
|
return columnClass != ImageIcon.class;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
table.setModel(tableModel);
|
||||||
|
|
||||||
|
|
||||||
|
updateRowHeights();
|
||||||
|
}
|
||||||
|
//自动调整列高
|
||||||
|
private void updateRowHeights()
|
||||||
|
{
|
||||||
|
for (int row = 0; row < table.getRowCount(); row++)
|
||||||
|
{
|
||||||
|
int rowHeight = table.getRowHeight();
|
||||||
|
|
||||||
|
for (int column = 0; column < table.getColumnCount(); column++)
|
||||||
|
{
|
||||||
|
Component comp = table.prepareRenderer(table.getCellRenderer(row, column), row, column);
|
||||||
|
rowHeight = Math.max(rowHeight, comp.getPreferredSize().height);
|
||||||
|
}
|
||||||
|
table.setRowHeight(row, rowHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//将实体列表转换为表格实体
|
||||||
|
public static Object[][] transferList(List<Zhuhu> list) {
|
||||||
|
Object[][] olist = new Object[list.size()][];
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
Object str[] = {list.get(i).getId().toString(), list.get(i).getHuzhudxy(),list.get(i).getDizhidxy(),list.get(i).getLianxidianhuadxy() };
|
||||||
|
//如果包含图片格式则以图片形式显示
|
||||||
|
for (int j = 0; j < str.length; j++) {
|
||||||
|
if(str[j]!=null&&(str[j].toString().contains("png")||str[j].toString().contains("jpg")||str[j].toString().contains("gif"))){
|
||||||
|
str[j]=new ImageIcon(new ImageIcon(str[j].toString()).getImage().getScaledInstance(100, 100, Image.SCALE_DEFAULT));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
olist[i] = str;
|
||||||
|
}
|
||||||
|
|
||||||
|
return olist;
|
||||||
|
}
|
||||||
|
public JTable getTable() {
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
public String getMainid(){
|
||||||
|
return mainid;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,126 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.SwingConstants;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
import dao.ZhuhuDao;
|
||||||
|
import dao.impl.ZhuhuImpl;
|
||||||
|
import entity.Zhuhu;
|
||||||
|
public class ZhuhuUpdateUI extends JFrame {
|
||||||
|
|
||||||
|
private JPanel contentPane;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ZhuhuDao dao = new ZhuhuImpl();
|
||||||
|
public ZhuhuUpdateUI() {
|
||||||
|
init(null);
|
||||||
|
}
|
||||||
|
public ZhuhuUpdateUI(Tableinter mui) {
|
||||||
|
init(mui);
|
||||||
|
}
|
||||||
|
public void init(Tableinter mui) {
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(100, 100, 643, 646);
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(null);
|
||||||
|
Zhuhu zhuhu = dao.findById((String) mui.getTable().getValueAt(mui.getTable().getSelectedRow(), 0));
|
||||||
|
JPanel panel = new BackgroundPanel();
|
||||||
|
contentPane.add(panel);
|
||||||
|
panel.setLayout(new GridLayout(0, 2, 0, 0));
|
||||||
|
JLabel idlabel = new JLabel("id");
|
||||||
|
idlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(idlabel);
|
||||||
|
JTextField idtextField = new JTextField(zhuhu.getId().toString());
|
||||||
|
idtextField.setEnabled(false);
|
||||||
|
panel.add(idtextField);
|
||||||
|
JLabel huzhudxylabel = new JLabel("户主");
|
||||||
|
huzhudxylabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(huzhudxylabel);
|
||||||
|
JTextField huzhudxytextField = new JTextField(zhuhu.getHuzhudxy());
|
||||||
|
panel.add(huzhudxytextField);
|
||||||
|
|
||||||
|
JLabel dizhidxylabel = new JLabel("地址");
|
||||||
|
dizhidxylabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(dizhidxylabel);
|
||||||
|
JTextField dizhidxytextField = new JTextField(zhuhu.getDizhidxy());
|
||||||
|
panel.add(dizhidxytextField);
|
||||||
|
|
||||||
|
JLabel lianxidianhuadxylabel = new JLabel("联系电话");
|
||||||
|
lianxidianhuadxylabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
panel.add(lianxidianhuadxylabel);
|
||||||
|
JTextField lianxidianhuadxytextField = new JTextField(zhuhu.getLianxidianhuadxy());
|
||||||
|
panel.add(lianxidianhuadxytextField);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
panel.setBounds(10, 10, 607, 120);
|
||||||
|
JButton button = new JButton("修改");
|
||||||
|
/**
|
||||||
|
修改按钮触发事件
|
||||||
|
*/
|
||||||
|
button.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
|
||||||
|
Zhuhu bean=new Zhuhu();
|
||||||
|
bean.setHuzhudxy(huzhudxytextField.getText());
|
||||||
|
|
||||||
|
bean.setDizhidxy(dizhidxytextField.getText());
|
||||||
|
|
||||||
|
bean.setLianxidianhuadxy(lianxidianhuadxytextField.getText());
|
||||||
|
|
||||||
|
bean.setId(Integer.valueOf(idtextField.getText()));
|
||||||
|
|
||||||
|
|
||||||
|
dao.modify(bean);
|
||||||
|
JOptionPane.showMessageDialog(null, "修改成功");
|
||||||
|
//刷新主界面列表
|
||||||
|
if(mui!=null)
|
||||||
|
mui.refresh(dao.findAll());
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button.setBounds(173, 550, 93, 47);
|
||||||
|
contentPane.add(button);
|
||||||
|
|
||||||
|
JButton button_1 = new JButton("取消");
|
||||||
|
/**
|
||||||
|
取消按钮触发事件
|
||||||
|
*/
|
||||||
|
button_1.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button_1.setFont(new Font("宋体", Font.PLAIN, 20));
|
||||||
|
button_1.setBounds(334, 550, 93, 47);
|
||||||
|
contentPane.add(button_1);
|
||||||
|
this.setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
public String getRadioValue(JPanel panel){
|
||||||
|
for(Component c:panel.getComponents()){
|
||||||
|
if(c instanceof JRadioButton){
|
||||||
|
if(((JRadioButton) c).isSelected()){
|
||||||
|
return ((JRadioButton)c).getText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in new issue