将弹出JTextarea添加到JTable中的每个列标题

时间:2014-08-24 20:00:08

标签: java

我正在尝试使用每个列部分的弹出帮助菜单创建一个JTable。例如,您右键单击第一列标题,弹出一个JTextArea,说明该列的用途以及应该将哪种类型的数据放入其中。我有以下代码建立JTable和mouselistener事件。有没有办法可以使用ColumnAtPoint()编写一个If语句,这样如果右键单击发生在第1列,那么它会打开我的JTextArea?然后我可以为其他列创建第二个和第三个单独的JTextAreas。

final DefaultTableModel tblModel = new DefaultTableModel(null,colHdrs);

  final JTable table = new JTable(tblModel);

table.getTableHeader()。addMouseListener(new MouseAdapter(){

      @Override

      public void mousePressed(MouseEvent e) {
          if (SwingUtilities.isRightMouseButton(e))
          {
              JOptionPane.showMessageDialog(null, textArea1, "Type", JOptionPane.PLAIN_MESSAGE);
          }
      }   
  });

1 个答案:

答案 0 :(得分:2)

尝试使用JToolTip我认为它可能更适合您的使用;):)!

你也可以添加例如到了

  

JLabel label = new JLabel(“我的号码标签”);

工具提示文字,如:

  

label.setToolTipText(“只允许1-10的数字!”);

这也适用于其他摆动的东西,你可以试试:)。 只要将鼠标悬停在标签上,文本就会立即显示。