Java 显示带有MouseEnter事件的JDialog
我正在使用一个Java 显示带有MouseEnter事件的JDialog,java,swing,popup,jtable,Java,Swing,Popup,Jtable,我正在使用一个JTable,我的第一列有一个图像,我希望当我把鼠标放在上面时,它看起来更大,我的意思是打开一个有更大图片的窗口。 我使用的是一个自定义模型,单元格的工作方式为JLabel 我试过这个: private void jLabel1MouseEntered(java.awt.event.MouseEvent evt) { NewJDialog c = new NewJDialog(this, rootPaneCheckingEnabled); c.setVisib
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
单元格 在单元渲染器中使用工具提示。顺便说一句,你忘了问一个问题。你试了什么?你得到了什么?给出一些代码,这样我们可以帮助您“如何使用特定的JTable
单元格?”同样,为什么不在单元格渲染器中使用工具提示呢?Andrew Thompson,我知道这是为了显示文本。默认情况下,JLabel是不透明的(true)