powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите разобраться
3 сообщений из 3, страница 1 из 1
Помогите разобраться
    #38700681
dudchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго всем дня!!!
Помогите, пожалуйста, а то совсем запуталась!!!
У меня есть JTable, у него 3 колонки, все постронные с помощью JLabel ( в первой картинка, в второй, текст и в третьей - картинка).
Так вот мне нужно, чтоб при наведении мыши на третью колонку, менялся фон у лейбы
Вот рендер для этой колонки
public class ImagePlayRenderer extends DefaultTableCellRenderer {
ImageIcon icon = new ImageIcon(Manager.class.getResource("play64.png"));
public ImagePlayRenderer(){

}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {

setIcon(icon);
setBackground(Color.WHITE);
setHorizontalAlignment(JLabel.CENTER);
setSize(64, 64);

return this;
}
}

вот так устанавливаю
table.getColumnModel().getColumn(2).setCellRenderer(new ImagePlayRenderer());

Я разобралась, что MouseListener нужно устанавливать для таблицы, но все равно ничего не получается
Большое всем спасибо
...
Рейтинг: 0 / 0
Помогите разобраться
    #38700748
WarAnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dudchenko,

и что вы прописали в MouseListener?
...
Рейтинг: 0 / 0
Помогите разобраться
    #38700772
dudchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WarAnt,
public class MouseByTableListener implements MouseListener {

public void mouseClicked(MouseEvent e) {

}

public void mouseEntered(MouseEvent e) {
JTable tabl = (JTable) e.getSource();
int x = e.getX();
int y = e.getY();
int row = tabl.rowAtPoint(new Point(x, y));
int col = tabl.columnAtPoint(new Point(x, y));
if(row > -1 && col == 2){
JLabel btn = (JLabel) tabl.getCellRenderer(row, col).getTableCellRendererComponent(tabl, e, false, false, row, col);
btn.setBackground(Color.RED);
tabl.repaint();
}
}

public void mouseExited(MouseEvent e) {
JTable tabl = (JTable) e.getSource();
int x = e.getX();
int y = e.getY();
int row = tabl.rowAtPoint(new Point(x, y));
int col = tabl.columnAtPoint(new Point(x, y));
if(row > -1 && col == 2){
JLabel btn = (JLabel) tabl.getCellRenderer(row, col).getTableCellRendererComponent(tabl, e, false, false, row, col);
btn.setBackground(Color.WHITE);
tabl.repaint();
}
}

public void mousePressed(MouseEvent e) {

}

public void mouseReleased(MouseEvent e) {

}
}
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите разобраться
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]