Tag: 选择

单击时创建具有可选行的ListView /更改ListView行的背景颜色

问题 我正在尝试使用可选项创建ListView 。 我希望能够单击ListView中的项目并让项目在列表中更改颜色,然后继续使用行中的数据执行其他操作。 我正在使用SimpleAdapter 。 如何制作它,以便当我点击一行时,它会变成另一种颜色,然后当我点击另一行时,选择新行并更改为新颜色,旧行变回正常? 码 到目前为止,这是我的代码。 DBTools类包含了我希望在ListView显示的所有数据,并将其组织起来。 getAllReceivers()方法返回一个包含所有数据的HashMap的ArrayList 。 MainActivity.java: public class MainActivity extends ListActivity { DBTools dbTools = new DBTools(this); ArrayList<HashMap> receiverList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActionBar().hide(); setContentView(R.layout.activity_main); receiverList = dbTools.getAllReceivers(); dbTools.close(); ListView listView = getListView(); if(receiverList.size() != 0) { SimpleAdapter adapter = new SimpleAdapter(MainActivity.this,receiverList, R.layout.receiver_entry, new String[] […]

JTextField / JTextComponent中的选择有限?

考虑一个JFormattedTextField(或任何真正的JTextComponent),其中有一个前缀和一个后缀显示在该字段的实际“文本”周围。 例如,double 3.5将是字符串(通过格式化)“3.50”,其前面是前缀“$”,后缀“”,显示文本为“$ 3.50”。 显然,这很容易做到。 但是,仍然允许用户选择前缀/后缀中的文本,因此可以想象删除部分或全部前缀/后缀。 我希望限制用户,使得根本不能选择前缀/后缀(仍然是文本字段的一部分,因此没有JLabel)。 我几乎可以使用CaretListener(或通过覆盖setCaretPosition / moveCaretPosition)来完成此操作,这可以防止Ca选择整个字段,并且它可以防止使用箭头键移动到前缀/后缀中。 但是,鼠标拖动和移动箭头键仍然允许选择移动到这些受限区域。 有任何想法吗?

个别且不连续的JTable的小区选择

是否有任何干净的方法允许用户选择JTable的多个非连续单元格? 或者我被迫实现自己的ListSelectionModel? 我在JTable上使用setCellSelectionEnabled()和setSelectionModel()方法,但我只能选择连续单元组。 编辑: 我试过@mKorbel不错的SSCCE。 它适用于列表,但似乎没有完全在表上工作。 这是一个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 […]