Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись в массив из JTable, Не хочет записывать в массив 
:(
    Опции темы
DarKRs
  Дата 12.12.2015, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.12.2015

Репутация: нет
Всего: нет



Добрый день. Никак не получается записать в массив значения из JTable.
Вот код отвечающий за это(При нажатии на кнопку....:
Код

  public void actionPerformed(ActionEvent e) {
               if (e.getSource() == bu2) {
                   ///////////////Запись в массив
                    for (int y = 0; y < COLLUMS; y++){
                        for (int x = 0; x < ROWS; x++) {
                            CELLS[x][y] = Integer.parseInt(String.valueOf(myTable.getValueAt(x, y)));
                        }}
}}

COLLUMS и ROWS - это у меня колонки и строки объявленные в самом начале класса.

В чем может быть ошибка?!
PM MAIL   Вверх
qpimap
Дата 13.12.2015, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.5.2015

Репутация: нет
Всего: нет



для начала ( я бы на твоём месте просканировал вывод одного символа , и только после этого решал вывод с двумя массивами ... Иначе как с выводом одного символа вопрос без полного кода не могу себе представить .  Напиши весь код ... ИЛИ читай
вывод одного символа ...И сам  ищи ошибку );
//*******************   Выводит на экран один символ   *************************
public int drawChar(Graphics g, char c, int left, int top) {
        int result=0;
        if (fontImage != null) {
          String s=String.valueOf©;
/*  unicode to ansi  */
          int ch = s.charAt(0) ;
                    ch = ch == 0x400 ? 0xa7 : ch == 0x450 ? 0xb7 : ch;
                    ch = ch > 0x400 ? ch - 0x350 : ch;

            int ind = ((int)(ch)-0x20)*3;//смещение данных в таблице xxxxx.dat

            int len=0;//смещение в таблице xxxxx.png

            int hlen = (buff[ind+1] & 0x00ff)<<8;//старший байт

            len=(buff[ind] & 0x00ff)+hlen;  //смещение в таблице xxxxx.png

            int width_char= buff[ind+2]+italic;//ширина символа


            fontImage.getRGB(buf, 0, width_char, len-2, 0,width_char, h_char);//считать в буфер

                   for(int i=0;i<buf.length;i++)
                   {
                        int color = (buf[i] &0x00ffffff);//читаем только RGB
                        if (color == 0) color =  Color;//если черный красим в цвет
                        buf[i] = color;
                    }

              g.drawRGB(buf, 0, width_char, left, top, width_char, h_char, true);
              if (c==' '){width_char=h_char>>2;}//если пробел
                result=width_char;
         }
        return result;
    }

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
qpimap
Дата 13.12.2015, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.5.2015

Репутация: нет
Всего: нет




class ArrayIndexOutOfBounds {

public static void main(String[] args) {

String languages[] = { "C", "C++", "Java", "Perl", "Python" }; 

try {

for (int c = 0; c <= 4; c++) {

System.out.println(languages[c]); 

}

} catch (Exception e) {

System.out.println(e); 

}
}
}

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
DarKRs
Дата 13.12.2015, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.12.2015

Репутация: нет
Всего: нет



Цитата(qpimap @ 13.12.2015,  16:21)
для начала ( я бы на твоём месте просканировал вывод одного символа , и только после этого решал вывод с двумя массивами ... Иначе как с выводом одного символа вопрос без полного кода не могу себе представить .  Напиши весь код ... ИЛИ читай 
 вывод одного символа ...И сам  ищи ошибку );
//*******************   Выводит на экран один символ   *************************
public int drawChar(Graphics g, char c, int left, int top) {
        int result=0;
        if (fontImage != null) {
          String s=String.valueOf©;
/*  unicode to ansi  */
          int ch = s.charAt(0) ;
                    ch = ch == 0x400 ? 0xa7 : ch == 0x450 ? 0xb7 : ch;
                    ch = ch > 0x400 ? ch - 0x350 : ch;

            int ind = ((int)(ch)-0x20)*3;//смещение данных в таблице xxxxx.dat

            int len=0;//смещение в таблице xxxxx.png

            int hlen = (buff[ind+1] & 0x00ff)<<8;//старший байт

            len=(buff[ind] & 0x00ff)+hlen;  //смещение в таблице xxxxx.png

            int width_char= buff[ind+2]+italic;//ширина символа


            fontImage.getRGB(buf, 0, width_char, len-2, 0,width_char, h_char);//считать в буфер

                   for(int i=0;i<buf.length;i++)
                   {
                        int color = (buf[i] &0x00ffffff);//читаем только RGB
                        if (color == 0) color =  Color;//если черный красим в цвет
                        buf[i] = color;
                    }

              g.drawRGB(buf, 0, width_char, left, top, width_char, h_char, true);
              if (c==' '){width_char=h_char>>2;}//если пробел
                result=width_char;
         }
        return result;
    }

Этот ответ добавлен с нового Винграда - http://vingrad.com

Попробовал записать отдельно в переменную отдельную ячейку.
Записывает.
Код

 SUMM=Integer.parseInt(String.valueOf(myTable.getValueAt(1,1)));

Но что то не понимаю как еще записать в массив.....

Весь код:
Код

import javax.swing.*;
import javax.swing.event.TableModelEvent;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;
import javax.swing.JScrollPane;
import javax.swing.table.TableColumn;

public class Reader extends JFrame {
    JButton bu1, bu2, bu3, bu4, bu5, bu6;
    JLabel l1, l2, l3, l4;
    JTextField t1, t2;
    JTable Atable,Btable, myTable;
    int i, k;
    String a, b;
    eHandler handler = new eHandler();
    DefaultTableModel myModel,AModel,BModel;
    Vector newRow,BnewRow,AnewRow;
    Object newCollum,BnewCollum,AnewCollum;
    int ROWS = 4, COLLUMS = 4;
    int CELLS[][];
    int ACELLS[],BCELLS[];
    boolean BoleanCELLS[][];
    int SUMM;
    int MINCELLS[];
    int Asumm;
    boolean Asum;


    public Reader(String s) {
        super(s);
        setLayout(null);


        l1 = new JLabel("Поставщики");
        l2 = new JLabel("Покупатели");

        l1.setSize(100, 30);
        l1.setLocation(130, 40);

        l2.setSize(100, 30);
        l2.setLocation(230, 10);

        l3=new JLabel("");
        l3.setSize(100, 30);
        l3.setLocation(500, 500);

       /* t1 = new JTextField(10);
        t1.setSize(40, 25);
        t1.setLocation(500,300);
        t2 = new JTextField(10);
        t2.setSize(40, 25);
        t2.setLocation(450,300);*/
        ///Первая кнопка
        bu1 = new JButton("Очистить");
        bu1.setLocation(1, 1);
        bu1.setSize(100, 40);
        ///Вторая кнопка
        bu2 = new JButton("Посчитать");
        bu2.setLocation(1, 50);
        bu2.setSize(100, 40);
        //////Кнопка добавить строку
        bu3 = new JButton("Добавить строку");
        bu3.setLocation(1, 100);
        bu3.setSize(150, 40);
        /////////////////////////
        //////Кнопка удалить строку
        bu4 = new JButton("Удалить строку");
        bu4.setLocation(1, 150);
        bu4.setSize(150, 40);
        /////////////////////////
        //////Кнопка добавить столбец
        bu5 = new JButton("Добавить столбец");
        bu5.setLocation(1, 200);
        bu5.setSize(150, 40);
        /////////////////////////
        //////Кнопка удалить стобец
        bu6 = new JButton("Удалить стобец");
        bu6.setLocation(1, 250);
        bu6.setSize(150, 40);
        /////////////////////////

        ////////////////Создание таблиц//////////////
        ///////////////Таблица перевозок
        myModel = new DefaultTableModel(ROWS, COLLUMS);
        myTable = new JTable(myModel);
        myTable.setLocation(230, 70);
        myTable.setSize(400, 200);
        newRow = new Vector();
        newCollum = new Object();
        myTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
        myTable.getTableHeader().setReorderingAllowed(false);
        myModel.newRowsAdded(new TableModelEvent(myModel));

        //////////////Таблица поставщиков
        AModel = new DefaultTableModel(ROWS, 1);
        Atable = new JTable(AModel);
        Atable.setLocation(180, 70);
        Atable.setSize(30, 200);
        AnewRow = new Vector();
        AnewCollum = new Object();
        Atable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
        Atable.getTableHeader().setReorderingAllowed(false);
        AModel.newRowsAdded(new TableModelEvent(AModel));

        ////////////////Таблица покупателей
        BModel = new DefaultTableModel(1, COLLUMS);
        Btable = new JTable(BModel);
        Btable.setLocation(230, 40);
        Btable.setSize(400, 15);
        BnewRow = new Vector();
        BnewCollum = new Object();
        Btable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
        Btable.getTableHeader().setReorderingAllowed(false);
        BModel.newRowsAdded(new TableModelEvent(BModel));

        /////////////////////////////////////////////////////
        add(myTable);
        add(Atable);
        add(Btable);
        add(bu1);
        add(bu2);
        add(bu3);
        add(bu4);
        add(bu5);
        add(bu6);
        add(l1);
        // add(t1);
        add(l2);
        add(l3);
        // add(t2);
        bu2.addActionListener(handler);
        bu1.addActionListener(handler);
        bu3.addActionListener(handler);
        bu4.addActionListener(handler);
        bu5.addActionListener(handler);
        bu6.addActionListener(handler);
    }

    public class eHandler implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            try {
               if (e.getSource() == bu2) {
                   ///////////////Запись в массив цен перевозок
                    for (int x = 0; x < ROWS; x++){
                        for (int y = 0; y < COLLUMS; y++) {
                            CELLS[x][y] = Integer.parseInt(String.valueOf(myTable.getValueAt(x,y)));
                        }}
                   SUMM=Integer.parseInt(String.valueOf(myTable.getValueAt(1,1)));
                  /*  /////////////////Запись в массив товара поставшика
                    for(int x=0;x<ROWS;x++){
                        ACELLS[x]=Integer.parseInt(myTable.getValueAt(x,1).toString());
                    }
                    //////////////////Запись в массив запращиваемого товара
                    for(int y=0;y<COLLUMS;y++){
                        BCELLS[y]=Integer.parseInt(myTable.getValueAt(y,1).toString());
                    }

                    ////////////////Заполнение по СЗ методу
                        int SZ_i=0;
                        int SZ_j=0;
                        boolean Zapolnenie_SZ=false;
                       while(!Zapolnenie_SZ){
                           if(ACELLS[SZ_i]>BCELLS[SZ_j]){
                               ACELLS[SZ_i]=ACELLS[SZ_i]-BCELLS[SZ_j];
                               SZ_j++;
                           }
                           if(ACELLS[i]<BCELLS[SZ_j]){
                                  BCELLS[SZ_j]=BCELLS[SZ_j]-ACELLS[SZ_i];
                                  SZ_i++;
                           }
                           if(ACELLS[SZ_i]==BCELLS[SZ_j]){
                              ACELLS[SZ_i]=ACELLS[SZ_i]-BCELLS[SZ_j];
                              SZ_i++;
                             SZ_j++;  
                           }
                           if(SZ_i+SZ_j==ROWS+COLLUMS){
                               Zapolnenie_SZ=true;
                           }
                       }*/
                       

                       



                   /* for (int y = 0; y < COLLUMS; y++) {
                        for (int x = 0; x < ROWS; x++) {
                            SUMM=SUMM+CELLS[x][y];
                        }
                    }*/
                    l3.setText(Integer.toString(SUMM));
                }
            } catch (Exception ex2) {JOptionPane.showMessageDialog(null, "Невозможно посчитать");}
                try {
                    if (e.getSource() == bu1) {
                        for (int y = 0; y < COLLUMS; y++) {
                            for (int x = 0; x < ROWS; x++) {
                                myTable.setValueAt("", x, y);
                            }
                        }
                    }

                    if (e.getSource() == bu3) {
                        myModel.addRow(newRow);
                        AModel.addRow(AnewRow);
                        ROWS++;
                    }
                    if (e.getSource() == bu5) {

                        myModel.addColumn(newCollum);
                        BModel.addColumn(BnewCollum);
                        COLLUMS++;
                    }
                    if (e.getSource() == bu4) {

                        myModel.removeRow(1);
                        AModel.removeRow(1);
                        ROWS--;
                    }
                    if (e.getSource() == bu6) {
                            
                    }


                } catch (Exception ex) {JOptionPane.showMessageDialog(null, "АЛЯРМА! ОШИБКА!! 404!");}
            }

        }
    }




PM MAIL   Вверх
qpimap
Дата 15.12.2015, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.5.2015

Репутация: нет
Всего: нет



//как из этого класса создать приложение или панель с выводом <button> кнопок
//в которых я бы смог поменять строки на <connect> с сервером ???
public class PetMaster {     
public static void main(String[] args) {         
String petReaction;         
Pet myPet = new Pet();         
myPet.eat();         
petReaction = myPet.say("Обойдусь!");         
System.out.println(petReaction);         
myPet.sleep();         
Fish myFish = new Fish();              
myFish.dive(2);              
myFish.dive(3);              
myFish.sleep();              

String fishReaction = myFish.say(" \u00bb ");
System.out.println(fishReaction); 
      
}    
}
class Pet {                  
int age;                         
float weight;                     
float height;                     
String color;                     
public void sleep(){                             
System.out.println("Спокойной ночи! До завтра");     
}         
public void eat(){                              
System.out.println("Я очень голоден, давайте перекусим чипсами!");     
}         
public String say(String aWord){         
String petResponse = "Ну ладно!! " +aWord;         
return petResponse;     
}        
}
class Fish extends Pet {     
int currentDepth=0;     

public int dive(int howDeep){     
currentDepth=currentDepth + howDeep;     
System.out.println("Ныряю на глубину " + howDeep + " футов");     
System.out.println("я на глубине " + currentDepth + " футов ниже уровн¤ мор¤");     
return currentDepth;     
}
@Override     
public String say(String something){         
return "  “ Ты чё не знаешь, что рыбы не разговаривают ?_? “  \u00bb ";         
}    
}

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
qpimap
Дата 15.12.2015, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.5.2015

Репутация: нет
Всего: нет



import java.io.*;

public class Lab_21    {

public static void outFile(String str) {
        String fileName="C:/Users/nic/Documents/QUtF-8.txt";
        boolean isAppend=false;
    try (FileWriter writer=new FileWriter(fileName , isAppend)) {
        writer.write(str);
    }catch(IOException ex){
        System.out.println(ex.getMessage());
    }
        }
public static void main(String[]args) throws IOException   {
        RandomAccessFile file=new RandomAccessFile("C:/Users/nic/Documents/d.txt","r");
        byte[]bytes=new byte[95];
        file.read(bytes);
        String str="";
        str=new String(bytes,"UTF-8");
        System.out.print(str);
        outFile(str);
  }        
}

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
qpimap
Дата 15.12.2015, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.5.2015

Репутация: нет
Всего: нет



!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ~
//   <<---это d.txt   95 символов

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
qpimap
Дата 15.12.2015, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.5.2015

Репутация: нет
Всего: нет



ПИШЕМ КАК Ты ПОНЯЛ из d.txt в файл QUtF-8.txt


Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
rodomod
Дата 26.4.2016, 20:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код

import java.io.*; 

public class ExFile {
public static void outFile(String str) {
String fileName="C:/Users/admin/Documents/simvol_En.txt";
boolean isAppend=false;
try (FileWriter writer=new FileWriter(fileName , isAppend)) {
writer.write(str);
}catch(IOException ex){
System.out.println(ex.getMessage());
}
}
public static void main(String[] args) {

String fileName = "E:a.txt"; 

FileInputStream inputStream = null; 

try {
byte[] buffer = new byte[95]; 
String str="";
inputStream = new FileInputStream(fileName); 
int total = 0; 
int nRead = 0; 

while ((nRead = inputStream.read(buffer)) != -1) {

System.out.println(new String(buffer)); 
total += nRead;

}
System.out.println("Read " + total + " bytes");

str=new String(buffer,"UTF-8"); 
outFile(str);
} catch (FileNotFoundException ex) {

System.out.println("Unable to open file '" + fileName + "'"); 

} catch (IOException ex) {

System.out.println("Error reading file '" + fileName + "'"); 

} finally {

try {

if (inputStream != null) {

inputStream.close(); 
}

} catch (IOException e) {

}

}
}
}


Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.1456 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.