当前位置: 首页 > 面试题库 >

使用DbUtils将ResultSet转换为TableModel后,JTable将设置为可编辑。如何使其再次不可编辑?

叶翰林
2023-03-14
问题内容

这是我执行此操作的代码`

public static void addSong(String[] fileDetail, JTable SongData_Table)
{
    try {
        con = DBConnection.getCon();
        stmt = con.createStatement();

        stmt.executeUpdate("insert into songs values (null,'" + fileDetail[0] + "', '" + fileDetail[1] + "',null,null)");
        ResultSet rs = stmt.executeQuery("select * from songs");

        TableModel model = DbUtils.resultSetToTableModel(rs);
        SongData_Table.setModel(model);

        if (con != null) {
            stmt.close();
            con.close();
        }
    } catch (SQLException e) {
        System.out.println("Error in Stmt " + e);
    }
}

问题答案:

变量名称不应以大写字母开头。SongData_Table应该是songDataTable

重写isCellEditable(...)JTable 的方法,而不是TableModel的方法

JTable songDataTable = new JTable()
{
    @Override boolean isCellEditatable(int row, int column)
    {
        return false;
    }
};


 类似资料:
  • 问题内容: 我正在使用创建时间选择器。内的文字是可编辑的。但我想将设置为不可编辑,因为有机会给出无效的值。谁能帮我? 问题答案: 请尝试以下操作: 只要您自己没有通过调用更改微调器编辑器,此方法就应该起作用。 告诉我们这是否有帮助。

  • 问题内容: 如果我想将cq5组件设置为在A页中可编辑但在B页中不可编辑,是否可以。 例如:在A页上,我有C组件,我们允许作者打开对话框并编辑该组件。但是我们不允许作者打开对话框来编辑页面B上的组件C。我尝试研究cq:EditConfig 链接,但这还不足以解决我的问题。 问题答案: 您可以在包含之前设置ComponentContext.BYPASS_COMPONENT_HANDLING_ON_IN

  • 问题内容: 有什么办法可以在jtable中动态制作不可编辑的单元格吗?每当用户提供类似false的输入时,我都想创建不可编辑的单元格…我已经在DefaultTableModel isCellEditable方法中看到过,但是如果我想使用它,则每次创建新对象时都会创建它,因此我想动态更改它为不可编辑。有人可以帮我吗?。谢谢 问题答案: 其他班级 然后,您可以通过使用存储的myModel变量并在其上调

  • 我有一个要求,在editbox中输入文本后,单击虚拟键盘完成(EditorInfo.IME\u ACTION\u DONE),现在光标不可见[我使用的是editText.setCursorVisible(false)]。现在问题是我再次单击编辑框光标不可见,但文本进入编辑框。 谢谢

  • 我们有一个旧表,其中日期字段以多种格式存储在VARCHAR2中。现在我们计划: 1) 将这些数据存储在具有适当日期字段的视图中。 2) 还以单一一致的格式(如MM/DD/YYYY)存储这些内容。 这是为#1所做的:创建一个函数,以便它可以解析VARCHAR2并将其转换为不同格式的DATE,例如: 对于#2,我们仍然需要将上述两个日期转换为MM/DD/YYYY,其中一个已采用此格式,因此我们需要先转

  • 我使用的是从数据库填充的JTree。 通过将根节点及其子节点设置为自定义对象,可以创建树: 在这之后,树被完美地创造出来。使用类别对象填充,每个对象都有自己的ID号和名称,以便在toString()方法中使用。 当它被设置为可编辑时,问题就来了。一旦节点被重命名,类别节点也被转换成一个字符串对象,所以我不能更新新的类别名称值到数据库。 我试图用捕捉重命名事件,但userObject已更改为Stri