⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frametable.java~9~

📁 一个很好的jtable例子
💻 JAVA~9~
字号:
package prj12;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.*;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.table.JTableHeader;
import java.awt.Color;
import javax.swing.table.DefaultTableModel;
import db.DbConnectio;
import java.util.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;

public class FrameTable extends JFrame {
    JPanel contentPane;
    DbConnectio db = new DbConnectio();
    //表头
    //  String [] name={"学号","姓名","成绩"};
    //数据
    // Object [][] data={{new Integer(1),"a",new Integer(60)},{new Integer(2),"b",new Integer(70)},{new Integer(3),"c",new Integer(80)}};

    /// DefaultTableModel dt=new DefaultTableModel()
    BorderLayout borderLayout1 = new BorderLayout();
    JTable jTable1 = new JTable();
    JTableHeader jTableHeader1 = jTable1.getTableHeader();
    public FrameTable() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(borderLayout1);
        setSize(new Dimension(400, 300));
        setTitle("表格");
        DbConnectio db = new DbConnectio();
        Vector vdata = db.getData();
        Vector vname = db.getColumnNames();
        //创建一个数据模式类对象
        DefaultTableModel dt = new DefaultTableModel(vdata, vname);
        jTable1.setCellSelectionEnabled(true);
        //为表格设置数据模式方式
        jTable1.setModel(dt);
        jTable1.addMouseListener(new FrameTable_jTable1_mouseAdapter(this));

        jTableHeader1.setForeground(Color.red);
        jTable1.setGridColor(Color.black);

        contentPane.add(jTable1, java.awt.BorderLayout.CENTER);
        contentPane.add(jTableHeader1, java.awt.BorderLayout.NORTH);
    }

    public void jTable1_mouseClicked(MouseEvent e) {
        DbConnectio db = new DbConnectio();

        //获取行号
        int row = jTable1.getSelectedRow();
        //获取列号
        int col = jTable1.getSelectedColumn();
        String s = (String) jTable1.getValueAt(row, col);
        int n = Integer.parseInt(s);

        int nn = JOptionPane.showConfirmDialog(this, "是否删除", "删除",
                                               JOptionPane.YES_NO_OPTION);
        if (nn == 0) {
            int ss = db.delStu(n);
            if (ss == 1) {
                JOptionPane.showMessageDialog(this, "已成功删除");
                Vector vdata = db.getData();
                Vector vname = db.getColumnNames();
                //创建一个数据模式类对象
                DefaultTableModel dt = new DefaultTableModel(vdata, vname);
               // jTable1.setCellSelectionEnabled(true);
                //为表格设置数据模式方式
                jTable1.setModel(dt);

            }

        }

        //JOptionPane.showMessageDialog(this,s);


    }
}


class FrameTable_jTable1_mouseAdapter extends MouseAdapter {
    private FrameTable adaptee;
    FrameTable_jTable1_mouseAdapter(FrameTable adaptee) {
        this.adaptee = adaptee;
    }

    public void mouseClicked(MouseEvent e) {
        adaptee.jTable1_mouseClicked(e);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -