Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为多行选择JTable仅选择一列_Java_Swing_Jtable - Fatal编程技术网

Java 为多行选择JTable仅选择一列

Java 为多行选择JTable仅选择一列,java,swing,jtable,Java,Swing,Jtable,我刚开始荡秋千,这里需要帮助 我在一个JTable中有3列 第1列数据是带有图标的JText 第2列是JComboBox 第3列是JButton 我想要只允许第1列多行选择的功能。当我多选第1列,然后单击任何JButton(第3列)时,我应该能够得到所选的行。问题是我一单击JButton就丢失了选择 问题是我一单击JButton就丢失了选择 是的,这是所有应用程序的标准UI设计。单击行时,将更改选择。因此,解决方案是更改您的UI 您的表应该只包含两列,而不包含按钮。那么你有两个选择: 将JBut

我刚开始荡秋千,这里需要帮助

我在一个JTable中有3列 第1列数据是带有图标的JText 第2列是JComboBox 第3列是JButton

我想要只允许第1列多行选择的功能。当我多选第1列,然后单击任何JButton(第3列)时,我应该能够得到所选的行。问题是我一单击JButton就丢失了选择

问题是我一单击JButton就丢失了选择

是的,这是所有应用程序的标准UI设计。单击行时,将更改选择。因此,解决方案是更改您的UI

您的表应该只包含两列,而不包含按钮。那么你有两个选择:

  • 将JButton添加到面板上的其他位置。然后,当您单击该按钮时,将在所选行上调用该功能。例如,请在此处查看解决方案:

  • 该选项是向表格中添加弹出菜单,以便在右键单击表格时,该菜单将显示对所选行执行的选项。查看Swing教程o中的部分,以获得一个工作示例,帮助您开始学习


  • 谢谢你的投入。我来检查一下。不幸的是,我不能改变这种设计,我必须使用3列表,并以某种方式使其工作。选项2听起来更接近主页,但是否有某种方式可以保留选择,同时在第3列打开一个对话框,点击按钮,将给我选择的行“不幸的是,我无法更改此设计…”我深表同情。我不能具体地为@camickr说话,但我认为没有多少有经验的程序员愿意提供帮助。@user3711096,
    在打开第3列的对话框时,是否有什么方法可以保留选择?按钮单击t
    -重写表的UI。添加到表中的MouseListener负责在按下鼠标时处理选择,因此您需要用自己的处理程序替换默认处理程序。