gpt4 book ai didi

java - 当鼠标光标位于 JTable 的单元格中时显示弹出菜单

转载 作者:行者123 更新时间:2023-12-02 00:28:49 24 4
gpt4 key购买 nike

我需要这样的行为:当鼠标光标指向JTable单元格时 - 将需要显示弹出菜单或类似的内容。无需在单元格上单击鼠标。有什么建议吗?

最佳答案

JB Nizet 的观点很好。 OTOH,我准备了这个例子,并且“我们有技术”。

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;

class TimesTable {

public static void main(String[] args) {
SwingUtilities.invokeLater( new Runnable() {
public void run() {
JTable t = new JTable(new TimesTableModel());
t.setDefaultRenderer(Object.class, new TimesTableRenderer());

JOptionPane.showMessageDialog(null, t);
}
});
}
}

class TimesTableRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {

Component c = super.getTableCellRendererComponent(
table,value,isSelected,hasFocus,row,column);
JComponent jc = (JComponent)c;
jc.setToolTipText(
(row+1) + "x" + (column+1) + "=" + ((row+1)*(column+1)));
return jc;
}
}

class TimesTableModel extends DefaultTableModel {
@Override
public int getColumnCount() {
return 7;
}

@Override
public int getRowCount() {
return 5;
}

@Override
public Object getValueAt(int row, int column) {
return new Integer((row+1)*(column+1));
}
}

关于java - 当鼠标光标位于 JTable 的单元格中时显示弹出菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9544145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com