이미 벡터로 정의 된 하나의 Jtable을 파일 데이터와 동일한 카탈로그로 대체하는 것을 시도하고 있습니다. 여기에 내 코드 : 여기하나의 JTable을 다른 (가져 오기) Java로 바꿉니다
else if (e.getActionCommand().equals("import"))
{
JFileChooser file = new JFileChooser();
int i = file.showOpenDialog(this);
if(i == JFileChooser.APPROVE_OPTION)
{
File f = file.getSelectedFile();
String filePath = f.getPath();
try
{
ObjectInputStream input = new ObjectInputStream(new FileInputStream(filePath));
Vector vectorData = (Vector)input.readObject();
data = new DefaultTableModel(vectorData, columNames);
table = new JTable(data);
labelStatus.setText("Archivo exitosamente importado.");
} catch (FileNotFoundException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
문제는 수입을 JTable는 데이터를 실제 표가 하나의 수입에 의해 어떤 변화를 포함하는 파일을 선택하면 내가 어떻게 전환 할 수 있다는 것입니다? Jtable 설명이의 ContentPane (JPanel의)에 추가되어 여기
코드 :
//data & columnNames are the data tha i used originally with the old Jtable
DefaultTableModel model = new DefaultTableModel(data, columnNames);
table = new JTable(model);
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model); //Sorter Descending or Ascending the data.
table.setRowSorter(sorter);
JScrollPane scrollTable = new JScrollPane(table);
scrollTable.setBounds(22, 78, 764, 177);
scrollTable.setViewportView(table);
contentPane.add(scrollTable);
참고 : 나는 하나의은 JTable 사용하고 DefaaultTableModel 글로벌 변수로 사용하고 가져 오기 방법에서 참조하면 ODL을 변경하려면 하나는 새로운 것이지만 같은 것을 사용합니다.
새로운 업데이트, 전체 기능 코드 :
public class Demo extends JFrame implements ActionListener
{
private JPanel contentPane;
DefaultTableModel data;
JTable table;
Vector<String> dataRow;
Vector<String> columnNames;
JScrollPane scrollTable;
public Demo() throws FileNotFoundException, IOException, ClassNotFoundException
{
columnNames = new Vector<>();
columnNames.addElement("Name");
columnNames.addElement("Cc");
columnNames.addElement("Age");
columnNames.addElement("Phone");
columnNames.addElement("Date");
columnNames.addElement("Amount");
ObjectInputStream in = new ObjectInputStream(new FileInputStream("C:/Users/Harry/Desktop/AA gym Database.txt"));
Vector data = (Vector)in.readObject(); //Add try catch instead of THROWS DECLARATION.
//rowData
DefaultTableModel model = new DefaultTableModel(data, columnNames);
table = new JTable(model);
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model); //Sorter Descending or Ascending the data.
table.setRowSorter(sorter);
scrollTable = new JScrollPane(table);
scrollTable.setBounds(22, 78, 764, 177);
scrollTable.setViewportView(table);
contentPane.add(scrollTable);
public void actionPerformed(ActionEvent e)
{
else if (e.getActionCommand().equals("import"))
{
JFileChooser file = new JFileChooser();
int i = file.showOpenDialog(this);
if(i == JFileChooser.APPROVE_OPTION)
{
File f = file.getSelectedFile();
String filePath = f.getPath();
try
{
ObjectInputStream input = new ObjectInputStream(new FileInputStream(filePath));
Vector vectorData = (Vector)input.readObject();
data = new DefaultTableModel(vectorData, columnNames);
table.setModel(data);
}
}
}
}
'JFrame'에 새로운'JTable'을 추가 할 코드를 보여줄 수 있습니까? –
프레임을 그릴 때 프레임에 테이블을 추가하는 것입니다. 나중에 새 테이블을 만듭니다. 이 _new_ 테이블을 프레임에 어디에 추가합니까? –
잘못된 정보를 볼 수있는 충분한 정보가 없기 때문에 [mcve] 또는 [sscce] (http://sscce.org/)를 게시하십시오. 우리는 전체 코드가 필요하지는 않지만 적어도 실행 중이며 문제를 보여줄 수있는 코드를 우리의 IDE w/o 수정본에 복사하여 붙여 넣을 수 있다는 것을주의하십시오. 또한 질문하시는 내용이 명확하지 않은 점에 유의하십시오. 질문을 설명하면서 더 구체적이고 명확하게 작성하십시오. – Frakcool