我正在使用JTable
,我的第一列我有一个图像,我希望当我将鼠标移过它看起来更加放大时,我的意思是打开一个带有更大图片的窗口。
我使用的是自定义模型,单元格工作为JLabel
。
我试过了:
private void jLabel1MouseEntered(java.awt.event.MouseEvent evt) {
NewJDialog c = new NewJDialog(this, rootPaneCheckingEnabled);
c.setVisible(true);
}
这是我的DefaultTableCellRenderer:
public class IconCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
if (value instanceof JLabel) {
JLabel label = (JLabel) value;
label.setOpaque(true);
fillColor(table, label, isSelected);
return label;
} else {
return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
}
}
public void fillColor(JTable t, JLabel l, boolean isSelected) {
if (isSelected) {
l.setBackground(t.getSelectionBackground());
l.setForeground(t.getSelectionForeground());
l.setBackground(new Color(255, 255, 200));
} else {
l.setBackground(t.getBackground());
l.setForeground(t.getForeground());
}
}
}
我知道它有效但我的问题是:如何使用特定的JTable
单元格进行操作?