package 作業;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Vector;
public class Surface {
private static String [][] data = {
{"1","Tom", "男", "大資料","001", "95",},
{"2","Jerry", "男", "云計算","002", "56",},
{"3","Dmk", "男", "人工智能","003", "85",},
{"3","Cdg", "女", "移動營銷","004", "84",},
{"3","Hbf", "女", "互聯網營銷","005", "59",},
};
public static void main(String[] args) {
JFrame jf = new JFrame("資訊管理系統");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLayout(null);
jf.setSize(1200, 800);
//初始化表單居中顯示
jf.setLocationRelativeTo(null);
//不允許修改表單大小
jf.setResizable(false);
//表頭
//內容
JLabel jl1 = new JLabel("編 號");
//設定字體
jl1.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
//定位
jl1.setBounds(200, 300, 80, 40);
//添加
jf.add(jl1);
JLabel jl2 = new JLabel("姓 名");
//設定字體
jl2.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
//定位
jl2.setBounds(500, 300, 80, 40);
//添加
jf.add(jl2);
JLabel jl3 = new JLabel("性 別");
//設定字體
jl3.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
//定位
jl3.setBounds(800, 300, 80, 40);
//添加
jf.add(jl3);
JLabel jl4 = new JLabel("科 目");
//設定字體
jl4.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
//定位
jl4.setBounds(200, 400, 80, 40);
//添加
jf.add(jl4);
JLabel jl5 = new JLabel("學 號");
//設定字體
jl5.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
//定位
jl5.setBounds(500, 400, 80, 40);
//添加
jf.add(jl5);
JLabel jl6 = new JLabel("分 數");
//設定字體
jl6.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
//定位
jl6.setBounds(800, 400, 80, 40);
//添加
jf.add(jl6);
//文本輸入框
//為了方便,設定一個文本框接收行索引的值。
JTextField txt0 = new JTextField();
txt0.setBounds(150, 305, 50, 30);
txt0.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
txt0.setVisible(false);
jf.add(txt0);
//編號
JTextField txt1 = new JTextField();
txt1.setBounds(265, 305, 200, 30);
txt1.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
jf.add(txt1);
//文本輸入框
JTextField txt2 = new JTextField();
txt2.setBounds(565, 305, 200, 30);
txt2.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
jf.add(txt2);
//文本輸入框
JTextField txt3 = new JTextField();
txt3.setBounds(865, 305, 200, 30);
txt3.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
jf.add(txt3);
//文本輸入框
JTextField txt4 = new JTextField();
txt4.setBounds(265, 405, 200, 30);
txt4.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
jf.add(txt4);
//文本輸入框
JTextField txt5 = new JTextField();
txt5.setBounds(565, 405, 200, 30);
txt5.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
jf.add(txt5);
//文本輸入框
JTextField txt6 = new JTextField();
txt6.setBounds(865, 405, 200, 30);
txt6.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
jf.add(txt6);
//添加按鈕
JButton btn1 = new JButton("添 加");
btn1.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
btn1.setBounds(200, 550, 130, 35);
jf.add(btn1);
//刪 除按鈕
JButton btn2 = new JButton("刪 除");
btn2.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
btn2.setBounds(400, 550, 130, 35);
jf.add(btn2);
//修 改按鈕
JButton btn3 = new JButton("修 改");
btn3.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
btn3.setBounds(600, 550, 130, 35);
jf.add(btn3);
//查 詢按鈕
JButton btn4 = new JButton("查 詢");
btn4.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
btn4.setBounds(800, 550, 130, 35);
jf.add(btn4);
//串列:JTable、表頭、內容
String[] colsName = {"編號", "姓名", "性別","專業", "學號",
"分數"};
DefaultTableModel tableModel =new DefaultTableModel();
tableModel.setDataVector(data, colsName);
JTable jt = new JTable();
jt.setModel(tableModel);
//獲取內嵌類里面配置的jTable
jt.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 18));
JScrollPane jp = new JScrollPane(jt);
jp.setBounds(100, 50, 1000, 600);
jf.add(jp);
jf.setVisible(true);
//為添加按鈕 設定監聽事件
btn1.addActionListener(new ActionListener() {
//重寫一個ActionListener事件
@Override
public void actionPerformed(ActionEvent e) {
// 添加資料
String no =txt1.getText();
String name =txt2.getText();
String sex =txt3.getText();
String doctor =txt4.getText();
String stuNo =txt5.getText();
String score =txt6.getText();
tableModel.addRow(new String[]{no,name,sex,doctor,stuNo,score});
tableModel.fireTableDataChanged();
}
});
//選中
jt.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
//jt.getSelectedRow() 回傳選中行的索引(索引從0開始數)
Integer row = jt.getSelectedRow();
//判斷行是否被選中
if (row.intValue()!=-1){
//此處即為選中
//設定行索引
txt0.setText(Integer.toString(row));
}
}
});
//洗掉 同上
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//獲取行索引
String rowStr = txt0.getText();
//判斷文本是否為空 如果是空的 則不進行任何操作
if(rowStr.isEmpty()){
//寫一些提示
return;
}
//String型別轉成int
int row = Integer.valueOf(rowStr);
//根據行索引洗掉行
tableModel.removeRow(row);
tableModel.fireTableDataChanged();
//操作完行索引的值
txt0.setText(null);
}
} );
//todo 修改
btn3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
//todo 查詢
btn4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
}
}
uj5u.com熱心網友回復:
修改的話,先確定主鍵,比如編號,然后找到編號相同的陣列修改資料。
查詢的話,就是比較陣列中的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/71457.html
標籤:Eclipse
