首页>代码>java Swing开发简单备忘录源代码下载>/no forget/src/com/java/panel/MainPanel.java
package com.java.panel;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Panel;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;

import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.table.DefaultTableModel;

import com.java.util.MyDbUtil;

public class MainPanel extends JFrame {
	
	

	MainPanel mp = this;
	JTable jtable = null;
	Vector things = new MyDbUtil().getAllThings();
	Vector<String> title = new Vector<>();
	JScrollPane left = null; // 左侧面板
	JButton jb_edit = new JButton("编辑");
	JButton jb_add = new JButton("新增");
	JButton jb_delete = new JButton("删除");
	Panel right = new Panel();
	Image icon=Toolkit.getDefaultToolkit().getImage("icon.png");

	public MainPanel() {
		setTitle("备忘录");
		getContentPane().setBackground(new Color(29,177,213));
		setIconImage(icon);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setBounds(100, 50, 600, 600);
		setVisible(true);
		setResizable(false);
		title.add("行号");
		title.add("编号");
		title.add("标题");
		title.add("内容");
		title.add("日期");

		DefaultTableModel model = new DefaultTableModel(things, title);
		jtable = new JTable(model) {
			@Override
			public boolean isCellEditable(int row, int column) {
				return false;
			}
		};
		jtable.setFont(new Font("宋体", Font.BOLD, 15));
		jtable.setRowHeight(30); // 设置表格行高
		jtable.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);// 设置表格只能为单选
		jtable.getTableHeader().setReorderingAllowed(false);
		jtable.setBackground(new Color(110,174,220));         //设置表格背景颜色
		jtable.setSelectionBackground(Color.blue);
		jtable.setCursor(new Cursor(Cursor.HAND_CURSOR));
		left = new JScrollPane(jtable);
		left.setOpaque(true);
		left.getViewport().setBackground(new Color(110,174,220));   //设置滚动菜单没填充区域的颜色
		getContentPane().add(left, BorderLayout.WEST);

		right.setLayout(new GridLayout(20, 1));
		right.add(new JLabel(""));
		right.add(jb_edit);
		right.add(new JLabel(""));
		right.add(jb_add);
		right.add(new JLabel(""));
		right.add(jb_delete);

		getContentPane().add(right, BorderLayout.CENTER);

		jb_add.addActionListener(new ActionListener() { // 新增备忘按钮事件

			@Override
			public void actionPerformed(ActionEvent e) {
				AddPanel ap = new AddPanel(mp);
			}
		});

		jb_edit.addActionListener(new ActionListener() {// 编辑备忘按钮事件

			@Override
			public void actionPerformed(ActionEvent e) {
				int row = jtable.getSelectedRow();
				if (row < 0||row+1>new MyDbUtil().getAllThings().size()) {
					JOptionPane.showMessageDialog(null, "请选中内容再进行编辑");
				} else {

					EditPanel ap = new EditPanel(mp, row);
				}
			}
		});
		
		this.jtable.addMouseListener(new MouseAdapter() { //鼠标双击时候显示详细内容
			@Override
			public void mouseClicked(MouseEvent e) {
				if(e.getClickCount()==2){//双击事件
					int row = jtable.getSelectedRow();
					if (row < 0||row+1>new MyDbUtil().getAllThings().size()) {
						JOptionPane.showMessageDialog(null, "请选中内容再进行编辑");
					} else {
						ShowPanel sp=new ShowPanel(mp, row);				
					}
				}
			}
		});
		
		
		jb_delete.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				int row = jtable.getSelectedRow();
				if (row < 0||row+1>new MyDbUtil().getAllThings().size()) {
					JOptionPane.showMessageDialog(null, "请选中内容再进行编辑");
				} else {
					int choose=JOptionPane.showConfirmDialog(null, "确认删除选中项?");
					if(choose==0){
					String snum = mp.jtable.getValueAt(row, 1).toString();
					int num = Integer.parseInt(snum.replace("NF", ""));
					new MyDbUtil().deleteThing(num);
					
					mp.things.removeAllElements();
					mp.things.addAll(new MyDbUtil().getAllThings()); 
					mp.jtable.updateUI();
					//JOptionPane.showMessageDialog(null, "删除成功");
					}
					
				}
			}
		});
		


		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
			SwingUtilities.updateComponentTreeUI(this);
		} catch (ClassNotFoundException | InstantiationException
				| IllegalAccessException | UnsupportedLookAndFeelException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
	}

	public static void main(String[] args) {
		MainPanel mp = new MainPanel();
	}
}
最近下载更多
李朝磊  LV18 2023年11月18日
weilaizhisheng  LV21 2023年9月28日
ezra77934  LV2 2023年9月15日
alexcheung  LV3 2023年7月10日
微信网友_6292282163859456  LV4 2023年1月5日
计算机暴龙战士  LV19 2022年12月6日
a318888331  LV13 2022年10月31日
alonely23  LV1 2022年10月6日
zhendong  LV7 2022年9月26日
xiao小果  LV13 2022年6月22日
最近浏览更多
hanweinan6  LV13 10月9日
2860615178  LV4 5月29日
3334004690  LV10 3月6日
shiaomon 2023年12月14日
暂无贡献等级
Anzhui  LV2 2023年12月10日
李朝磊  LV18 2023年11月18日
tianshi  LV7 2023年10月19日
weilaizhisheng  LV21 2023年9月28日
ezra77934  LV2 2023年9月15日
alexcheung  LV3 2023年7月10日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友