Заполнение jTable в апплете данными CSV.Скомпилирует, запустит, данные / таблица не отображаются - PullRequest
0 голосов
/ 09 марта 2010

Я пытался загрузить данные CSV в Java-апплет. Мне удалось загрузить данные в Java-программу, но когда я пытаюсь воссоздать это в Java-апплет, у меня возникают трудности. Вот код, который у меня будет работать, но ничего не будет отображаться:

import java.io.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import java.applet.*;

    public class test3 extends java.applet.Applet
    {

        public void init() {

            try {
                java.awt.EventQueue.invokeAndWait(new Runnable() {
                public void run() {
                initComponents();
                }
                });
            } catch (Exception ex) {
            ex.printStackTrace();
            }
        }


    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable JTable1;
    private DefaultTableModel model;

    private void initComponents()
    {
        String aLine ;
        Vector columnNames = new Vector();
        Vector data = new Vector();

        try
        {
            FilePermission p = new FilePermission("DL0215103A.csv", "read" );
            FileInputStream File = new FileInputStream("DL0215103A.csv");
            BufferedReader br = new BufferedReader(new InputStreamReader(File));

            // extract column names

            StringTokenizer st1 = new StringTokenizer(br.readLine(), ",");

            while( st1.hasMoreTokens() )
            {
                columnNames.addElement(st1.nextToken());
            }

            // extract data

            while ((aLine = br.readLine()) != null)
            {
                StringTokenizer st2 = new StringTokenizer(aLine, ",");
                Vector row = new Vector();

                while(st2.hasMoreTokens())
                {
                    row.addElement(st2.nextToken());
                }
                data.addElement( row );
            }
            br.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

        //  Create table using the DefaultTableModel

        model = new DefaultTableModel(data, columnNames);
        JTable1 = new JTable(model);

        jScrollPane1.setViewportView(JTable1);
        add(jScrollPane1, java.awt.BorderLayout.CENTER);


    }

}

1 Ответ

1 голос
/ 09 марта 2010

Может быть, ваша проблема связана с фактическим поиском файла, когда апплет запускается как апплет, для поиска и загрузки относительных файлов используются разные критерии, ознакомьтесь с руководством по Java по этой теме: ссылка .

...