Старый 21.07.2007, 10:50   #1   
Форумец
 
Сообщений: 15
Регистрация: 18.06.2007

AzRoman вне форума Не в сети
Вопрос по Java.

Народ я не опытен в Java и только учу, поэтому прошу подсказать как быть.Необходимо сделать табл с рисунками(иконками) в Java. Я делаю это так:
public class Grid extends JApplet {
Icon im = new ImageIcon("C:/workspace/microbs/image/face0.gif");
Icon in = new ImageIcon("C:/workspace/microbs/image/face1.gif");
Generalization gen = new Generalization(10,10);
class DataModel extends AbstractTableModel {
Icon[][] data ;
public DataModel(int n) {
data = new Icon[n][n];
}
public int getColumnCount() {
return data[0].length;
}
public int getRowCount() {
return data.length;
}
public Icon getValueAt(int row, int col) {
return data[row][col];
}
public void setValueAt(Icon val, int row, int col) {
data[row][col] = val;
// Указывает на появление изменений:
fireTableDataChanged();
}
}
я хотел всю работу производить через setValueAt(думаю это понятно)
Но самое обидное это не работает(((выводит в табл только АДРЕСА этих рисунков. Я пробовал так объявить JLabel [][] data = new JLabel[n][n];и потом в методе setValueAt писал так data[row][col].setIcon(val); и это не работало...ошибка происходила на стадии компиляции.
  Ответить с цитированием
Старый 24.07.2007, 09:43   #2   
Бывалый форумец
 
Аватар для J++
 
Сообщений: 687
Регистрация: 05.08.2005

J++ вне форума Не в сети
у меня сейчас нет под рукой Явы и доков.

Я уже не очень помню работу с JTable, но кажется там каждая ячейка представляет собой компонент JPanel, и именно на его поверхности нужно рисовать. Может примитивным draw, посмотри в доках.

Т.е. я не знаю, что собой представляет твой setIcon (это из либы или ты написал), но если по твоему замыслу в результате этого присваивания должна появиться картинка в ячейке таблицы - то он должен не только присваивать ссылку на icon, но и отрисовывать картинку на поверхности ячейки.
  Ответить с цитированием
Старый 24.07.2007, 13:35   #3   
Форумец
 
Сообщений: 21
Регистрация: 10.10.2006

dev вне форума Не в сети
не силен в swing
посмотри
JAVA_HOME\demo\jfc\SwingSet2 там есть пример похожий
имхо что ты ты не договариваешь
  Ответить с цитированием
Старый 26.07.2007, 15:07   #4   
Форумец
 
Сообщений: 15
Регистрация: 18.06.2007

AzRoman вне форума Не в сети
Спасибо что отозвались! Но я решил все подругому сделать: просто все рисую руками, т.е. и таблицу и сами рисунки туда прям и загружаю, так гораздо легче.
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind