GAMES PC DOWNLOAD FREE FULL

GAME

[Java] Custome Jtable , read data from file parse to jtable

 

1: Create new Project !




Student.java

-----------------------------
ackage thanhcs.javademo;

import java.io.Serializable;

public class Student implements Serializable{

private int id;
private String name;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + "]";
}



}



StudentCollection.java

package thanhcs.javademo;

import java.io.Serializable;
import java.util.Vector;

import javax.swing.plaf.basic.BasicScrollPaneUI.VSBChangeListener;

public class StudentCollection implements Serializable {

Vector<Student> vtStudent;
public StudentCollection(Vector<Student>vtStudent) {
// TODO Auto-generated constructor stub
this.vtStudent = vtStudent;
}

public void addStudent(Student a)
{
vtStudent.add(a);
}

public Student getStudent(int i)
{
return vtStudent.get(i);
}

public int getNumOfSrudent()
{
return vtStudent.size();
}


}


StudentTableMode.java


package thanhcs.javademo;

import javax.swing.table.AbstractTableModel;

public class StudentTableModel extends AbstractTableModel{

StudentCollection stdCollections;
String title[] = {"id", "name"};

public StudentTableModel(StudentCollection stdCollections) {
// TODO Auto-generated constructor stub
this.stdCollections = stdCollections;
}


@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return title.length;
}

@Override
public int getRowCount() {
// TODO Auto-generated method stub
return stdCollections.getNumOfSrudent();

}

@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Student a = stdCollections.getStudent(rowIndex);
switch (columnIndex) {
case 0:
return a.getId();
case 1:
return a.getName();
default:
break;
}
return null;
}

@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
Student a = stdCollections.getStudent(rowIndex);
switch (columnIndex) {
case 0:
a.setId((Integer)aValue);
break;
case 1:
a.setName((String) aValue);
break;
default:
break;
}
}

@Override
public Class<?> getColumnClass(int columnIndex) {
// TODO Auto-generated method stub
return super.getColumnClass(columnIndex);
}

@Override
public String getColumnName(int column) {
// TODO Auto-generated method stub
return title[column];
}



}



FILE_Process.java

package thanhcs.javademo;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class FILE_Process {


public void WRITE(Object obj , String filePath) throws Exception
{
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(filePath));
out.writeObject(obj);
out.close();
}

public Object READ(String filePath) throws Exception
{
ObjectInputStream in = new ObjectInputStream(new FileInputStream(filePath));
Object a = in.readObject();
in.close();
return a;
}
}



MAINCLASS.java


package thanhcs.javademo;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class MAINCLASS extends JFrame implements ActionListener, ListSelectionListener{

JTextField txtID, txtName;
JButton btnADD, btnEDIT, btnREMOVE , btnEXIT;
StudentCollection stdCollection;
JTable jtable;
Vector<Student> vtStudent;
Student studentTemp;
StudentTableModel studentModel;
FILE_Process fileProcess;
String NAMEFILE = "thanhcs94";
public MAINCLASS() {
setGiaoDien();
setSuKien();

setSize(500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}


private void setSuKien() {


}


private void setGiaoDien() {
JPanel jp1 = new JPanel();
jp1.setLayout(new BorderLayout());
add(jp1, BorderLayout.NORTH);
JPanel jp2 = new JPanel();
JPanel jp3 = new JPanel();

jp2.setLayout(new GridLayout(2, 2));
jp2.add(new JLabel("ID"));
jp2.add(txtID = new JTextField(20));
jp2.add(new JLabel("NAME"));
jp2.add(txtName = new JTextField(20));

jp1.add(jp2, BorderLayout.CENTER);

jp3.add(btnADD = new JButton("ADD"));
jp3.add(btnREMOVE = new JButton("REMOVE"));
jp3.add(btnEDIT = new JButton("EDIT"));
jp3.add(btnEXIT = new JButton("EXIT"));
btnADD.addActionListener(this);
btnREMOVE.addActionListener(this);
btnEDIT.addActionListener(this);
btnEXIT.addActionListener(this);
jp1.add(jp3, BorderLayout.SOUTH);




fileProcess = new FILE_Process();
vtStudent = new Vector<>();


/****** RUN IT IN THE FIRST TIME YOU BUIL .WRITE DATA TO FILE ******/
/**
for(int i = 0 ; i < 1 ; i++)
{
vtStudent.add(new Student(i, "Maria Ozawa"));
}


try {
fileProcess.WRITE(vtStudent, NAMEFILE);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} */

//doc file
try {
vtStudent = (Vector<Student>) fileProcess.READ(NAMEFILE);
stdCollection = new StudentCollection(vtStudent);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

studentModel = new StudentTableModel(stdCollection);
jtable = new JTable(studentModel);
add(new JScrollPane(jtable), BorderLayout.CENTER);


}


public static void main(String[] args) {
new MAINCLASS().setVisible(true);;

}


@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==btnADD)
{
try {
int id = Integer.parseInt(txtID.getText().toString());
String name = txtName.getText();
stdCollection.addStudent(new Student(id,name));

jtable.revalidate();
} catch (Exception e2) {
JOptionPane.showMessageDialog(this, e2);
}

}

if(e.getSource()==btnREMOVE)
{

int i = jtable.getSelectedRow();
if(i==-1)
{
JOptionPane.showMessageDialog(null, "unselected");
}
else
{
int result = JOptionPane.showConfirmDialog(this, "Are you sure ??", "DELETE", JOptionPane.YES_NO_OPTION);
if(result == JOptionPane.YES_OPTION)
{
vtStudent.removeElement(stdCollection.getStudent(i));
jtable.revalidate();
}

}


}

if(e.getSource()==btnEDIT)
{
String id=null, name =null;
int i = jtable.getSelectedRow();
System.out.println(i+"");
Student a = vtStudent.get(i);
try {
id = JOptionPane.showInputDialog("ID");
name = JOptionPane.showInputDialog("Name");

a.setId(Integer.parseInt(id));
a.setName(name);
vtStudent.remove(i);
vtStudent.add(i, a);
jtable.revalidate();
} catch (Exception e2) {
JOptionPane.showMessageDialog(null, "null value");
}



}

if(e.getSource()==btnEXIT)
{
try {
fileProcess.WRITE(vtStudent, NAMEFILE);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("DA LUU DU LIEU");
System.exit(0);
}

}


@Override
public void valueChanged(ListSelectionEvent e) {
// TODO Auto-generated method stub

}


}







[Java] Custome Jtable , read data from file parse to jtable 4.5 5 Thanh Nguyen 1: Create new Project ! Student.java ----------------------------- ackage thanhcs.javademo; import java.io.Serializable; public class Stud...


No comments:

Post a Comment

NEW GAME

Powered by Blogger.

Labels

Quotes

1. Những cô gái giống như những tên miền Internet, những tên đẹp mà ta thích đã có chủ nhân rồi!


Popular Posts