使用MouseEnter事件显示JDialog

时间:2014-05-10 10:53:11

标签: java swing popup jtable

我正在使用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单元格进行操作?

0 个答案:

没有答案