jjzjj

java - JCombobox 字符串项(可见)和整数键(固有)

我有一个数据库模式=它将作为JTable列显示在JCombobox中以选择名称。但我希望将ID字段插入(作为外键)到另一个表中。通常,在下拉列表中选择一个项目,将所选项目带到组合框的显示区域。我想要做的是,当在组合框中选择任何项目(字符串)时,其对应的整数键(可以保存在排序映射中)应该显示在组合框占位符区域中,以便在取值时JTable.getValueAt(row,column),我得到整数键,而不是字符串项值。请帮助我,我该怎么做? 最佳答案 您应该在包含要显示的字符串值和键的整数值的TableModel中存储一个对象。然后你访问

java - 在 JTable 的单元格内添加按钮和数据?

是否可以在JTable单元格内添加按钮和数据?我想做的是创建一个表,其中包含显示数据库中数据(数字)的列,以及两个按钮来增加/减少同一单元格内的数字。|编号|数量||06|2[+][-]|它会像上面那样[+][-]是按钮。因此,当我按[+]时,数字将变为3,如果按[-],则数字将变为1。 最佳答案 是的,这是可能的,尽管这并不容易。你必须自己写自定义cellrenderer和你自己的celleditor.这是我在5分钟内制作的示例:它远非完美,但展示了概念。这是源代码:importjava.awt.Component;importj

java - 我怎样才能得到过滤后的模型?

我正在使用JTables来显示用户可以过滤的信息,如果用户在过滤后保存,我想将过滤后的表保存到文本文件中以保持持久性(这意味着过滤掉的任何内容都不会保存到文本文件中).对于过滤,我只是按照本教程的过滤部分进行操作:http://download.oracle.com/javase/tutorial/uiswing/components/table.html#sorting它工作正常,但我不确定有什么方法可以获得当前显示的模型,而不是包含未过滤掉的所有内容的底层模型。有什么办法可以用我过滤的方式做到这一点吗?谢谢! 最佳答案 询问表的

java - 如何使 JTable 单元格动态可编辑/不可编辑?

有没有办法在jtable中动态制作不可编辑的单元格?每当用户输入错误时,我想制作不可编辑的单元格......我在DefaultTableModelisCellEditable方法中看到过。但是如果我想使用它,我每次都创建新对象。所以我想动态地更改它不可编辑。有人能帮帮我吗?...谢谢 最佳答案 publicclassMyDefaultTableModelextendsDefaultTableModel{privateboolean[][]editable_cells;//2darraytorepresentrowsandcolumn

java - 如何将焦点设置到 JScrollPane 内的 JTable 的第一行

我在JScrollPane中有一个JTable。我把它放在一个面板里。面板加载后,我希望JTable中的第一行获得焦点,但默认情况下焦点转到JScrollPane并在按下选项卡时焦点进入表的第一行。我不想使用setRowSelectionInterval(0,0)和setColumnSelectionInterval(0,0)因为我的要求与那个不同。 最佳答案 如果你想编辑你可以使用的单元格,jTable1.requestFocus();jTable1.editCellAt(row,column);否则你只想选择行,你可以使用,jT

java - JTable - 按 Tab 键让单元格进入编辑模式

这可能有一个简单的解决方案,但我已经筋疲力尽了,所以我希望有人能帮忙。我使用一个JTable,它有一个自定义渲染器和一个用于一组列的自定义编辑器。渲染器使用JLabel组件,编辑器使用JSpinner组件。我们的用户希望能够在列中输入值,然后按TAB或ENTER移动到表中的下一个可编辑单元格。如果我理解正确的话,这是JTable的默认行为。但是,这对我来说似乎无法正常工作。在用户单击单元格之前,只会显示JLabel。JSpinner(即CellEditor)仅在用户双击单元格时显示。因此,看起来单元格仅在MouseEvents上进入“编辑”模式,而不是在它具有焦点时。如何让单元格在获得

java - JAVA 中的 SELECT 语句

publicvoidsearch()throwsException{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Stringurl="jdbc:odbc:******";Stringuser="*****";Stringpass="*****";Connectioncon=DriverManager.getConnection(url,user,pass);Statementstate=con.createStatement();ResultSetrs=state.executeQuery("");ResultSetMetaDatarsm

java - 如何更改 JTable 标题背景颜色?

我试过:table.getTableHeader().setBackground(Color.BLACK);不起作用。编辑:此代码仅在我的项目中不起作用。在其他项目中工作。我可能更改了阻止颜色更改的属性。或者NetBeans可能有一些保留默认颜色的属性。我注意到别的东西。我项目中标题的颜色以不同的方式闪耀。在颜色变化起作用的示例中,我看到了不同的图形。编辑2:其他内容。我注意到按钮也不会改变颜色。必须是通用的。希望这可以帮助。不幸的是,SSCCE在这种情况下不起作用,因为我无法重现该问题。我肯定使用了正确的组件名称。 最佳答案 试试

java - 显示日历以在java中选择日期

在VB、C#等其他语言中,在您希望用户输入日期的情况下,比如在文本框中,我们可以让日历在您单击后显示。因此用户可以点击相应的日期,该日期将被放入文本框。通过这种方式,我们可以摆脱由于日期格式不正确而导致的问题。我需要知道我们如何在Java中实现这一点?实际上,我需要将它与JTable结合起来。有一列需要输入日期。但用户可能会以各种格式输入日期。所以我想到了这样的事情。希望有一种方法可以轻松做到这一点。谁能告诉我如何做到这一点。非常感谢任何帮助..谢谢。 最佳答案 我找到了JXDatePicker作为对此的更好解决方案。它提供了您所需

java.lang.ArrayIndexOutOfBoundsException : 0 >= 0 attempting to populate JTable 异常

我将JTable子类化并使用DefaultTableModel为我的表数据建模。以下类设置JTable,并向模型添加一行。importjava.io.File;importjava.util.Iterator;importjava.util.Vector;importjavax.swing.JTable;importjavax.swing.table.DefaultTableModel;importjavax.swing.table.TableColumn;publicclassSelectedFileTableextendsJTable{VectorSelectedFiles=new