为了账号安全,请及时绑定邮箱和手机立即绑定

单独和不连续的JTable细胞选择

单独和不连续的JTable细胞选择

临摹微笑 2019-07-26 15:15:08
单独和不连续的JTable细胞选择是否有任何干净的方法允许用户选择JTable的多个非连续单元格?或者我被迫实现我自己的ListSelectionModel?我在JTable上使用setCellSelectionEnable()和setSelectionModel()方法,但是我只能选择连续单元格的组。编辑:我试过@mKorbel尼斯SSCCE。对于List来说,它很好,但是它似乎不能完全处理表。下面是一个SSCCE:import java.awt.Component;import java.awt.event.InputEvent;import java.awt.event.MouseEvent;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;public class TableSelection extends JFrame{     String[] columnNames = {"First Name",             "Last Name",             "Sport",             "# of Years",             "Vegetarian"};     Object[][] data = {             {"Kathy", "Smith",              "Snowboarding", new Integer(5), new Boolean(false)},             {"John", "Doe",              "Rowing", new Integer(3), new Boolean(true)},             {"Sue", "Black",              "Knitting", new Integer(2), new Boolean(false)},             {"Jane", "White",              "Speed reading", new Integer(20), new Boolean(true)},             {"Joe", "Brown",              "Pool", new Integer(10), new Boolean(false)}         };     public TableSelection(){         JPanel main= new JPanel();         JTable table = new JTable(data, columnNames){              @Override                 protected void processMouseEvent(MouseEvent e) {                     int modifiers = e.getModifiers() | InputEvent.CTRL_MASK;                     // change the modifiers to believe that control key is down                     int modifiersEx = e.getModifiersEx() | InputEvent.CTRL_MASK;                     // can I use this anywhere?  I don't see how to change the modifiersEx of the MouseEvent                     MouseEvent myME = new MouseEvent((Component) e.getSource(), e.getID(), e.getWhen(), modifiers, e.getX(),                             e.getY(), e.getXOnScreen(), e.getYOnScreen(), e.getClickCount(), e.isPopupTrigger(), e.getButton());                     super.processMouseEvent(myME);                 }         };我可以选择非连续行,但不能选择单个单元格。我的意思是,我希望能够选择单元格0,0和3,3,例如。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 1337 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信