Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Отображение информации в Jtable


Автор: Laxim 11.12.2008, 01:58
Вот моы трай блок 

вопрост следуюший как мне отобразит информацию которая сохроняеца в текстовом документе в JTable


public static void main(String []args){
        
        try{
        Scanner in= new Scanner (System.in);
        PrintWriter pr = new PrintWriter (new FileOutputStream("filen.txt"));
        Scanner filen= new Scanner(new FileReader("filen.txt"));
        System.out.println("Skriv in:");
        pr.println(in.nextLine());
        pr.close();
        catch(Exception e){}
    }

Автор: agR 11.12.2008, 03:50
Вероятнее всего имелось ввиду:
Код

        try{
            Scanner in= new Scanner (System.in);
            PrintWriter pr = new PrintWriter (new FileOutputStream("filen.txt"));
            Scanner filen= new Scanner(new FileReader("filen.txt"));
            System.out.println("Skriv in:");
            pr.println(in.nextLine());
            pr.close();
        } catch(Exception e){
         
        }


Есть 2 способа:
1) Простой - создать двумерный массив значений таблицы, одномерный массив названий столбцов и потом указать их в качестве параметров конструктора.
2) Чуть сложнее - использовать модель таблицы.

Вот простенький пример 1-го способа на основе вашего кода:
Код

    public static void main(String[] args) {
        String s = "";
        try{
            Scanner in= new Scanner (System.in);
            PrintWriter pr = new PrintWriter (new FileOutputStream("filen.txt"));
            Scanner filen= new Scanner(new FileReader("filen.txt"));
            System.out.println("Skriv in:");
            s = in.nextLine();
            pr.println(s);
            pr.close();
        }catch(Exception e){
         
        }
        
        Object[][] data =  {
            {s}
        };
        
        Object[] colName = {"Строка"};
        JTable table = new JTable(data, colName);
        JFrame frame= new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new JScrollPane(table));
        frame.setSize(100, 200);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }


Но лучше, конечно, использовать модель.
Для этого надо создать класс и унаследовать его от AbstractTableModel, после чего реализовать всего 3 метода (это минимум, чтоб работало  smile ):
 
Код

public int getRowCount();   // количество строк
public int getColumnCount();  //количество столбцов
public Object getValueAt(int row, int column);  //значение в ячейке

а потом указать эту модель либо в качестве параметра конструктора или вызвать метод setModel(TableModel model) у таблицы и передать модель в него.

Автор: Laxim 11.12.2008, 12:36

выдоет ошибку в :
 
pr.close(s);


the method close() is not Aplicatible with argument STRING

Автор: agR 11.12.2008, 19:23
Так а зачем передавать параметр в метод close()?


Автор: powerOn 12.12.2008, 00:44
Модератор: Название темы должно отражать ее суть! На первый раз поправил сам. 


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)