标签: defaulttablemodel

最简单的代码从ResultSet填充JTable

我用Google搜索了一整天,没有运气.getnPrintAllData()按OK按钮后调用方法.所以代码是:

public class DatabaseSQLiteConnection {
    Connection conn = null;
    PreparedStatement statement = null;
    ResultSet res = null;

    public DatabaseSQLiteConnection(){
        try{
            Class.forName("org.sqlite.JDBC");
            conn = DriverManager.getConnection("jdbc:sqlite:test.sqlite");
            statement = conn.prepareStatement("SELECT * from product_info;");
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }   

    public void getnPrintAllData(){
        String name, supplier, id;
        DefaultTableModel dtm = new DefaultTableModel();
        Window gui = new Window(); //My JPanel class        
        try{
            res = statement.executeQuery();
            testResultSet(res);
            ResultSetMetaData meta = res.getMetaData();
            int numberOfColumns = meta.getColumnCount();
            while (res.next())
            {
                Object [] rowData = new Object[numberOfColumns]; …
Run Code Online (Sandbox Code Playgroud)

java sqlite swing jtable defaulttablemodel

33
推荐指数
4
解决办法
20万
查看次数

Java:删除DefaultTableModel的所有行

我想删除DefaultTable的所有行.我发现了两种在Internet上删除它们的常用方法,但在我的情况下它们都不起作用,因为我的DefaultTableModel中不存在这些方法.我想知道为什么:S.我使用DefaultTableModel的代码是

DefaultTableModel Table =(DefaultTableModel)Table.getModel();

删除的一种方法是

Table.removeRow(Table.getRowCount() - 1);

但是这个removerow方法在我的DefaultTableModel中不存在.

请帮帮我.

java swing jtable defaulttablemodel

19
推荐指数
4
解决办法
3万
查看次数

JTree更新节点而不会崩溃

我有一个需要JTree更新节点的Java SE 7应用程序.从使用此线程的Oracle提供的教程中,没有给出关于如何在代码上更新标签(树上节点的显示文本)的提示.目前我DefaultTreeModel用作我的模型JTreeDefaultMutableTreeNode所述树的节点.

为了进一步详细说明我正在处理的应用程序,我正在开发一个聊天工具,其中显示的联系人每个帐户的可用性状态(无论是在线,离线等).

问题是,如何更新特定节点的显示文本,而不是(最多)将其从父节点中删除,并将其添加到指定的索引上.喜欢DefaultMutableTreeNode.setText("<new label>")


更新:2013年1月20日

重新定义问题以便澄清.

java swing jtree defaulttablemodel

12
推荐指数
2
解决办法
1万
查看次数

重命名表头

在我的JTable中,我想使用右键单击选项重命名表头.在右键单击任何标题时,它提供重命名标题的选项.但是当我这样做时,它将重命名所选列的标题.所以我必须先左键单击该列然后我可以进一步处理.有没有什么方法,当我右键单击任何列时,它也被选中,以便重命名后它的值被重命名.

我的动作监听器如下:

int column = jTable1.getSelectedColumn();
                        if (column == -1) {
                            return;
                        }
                        if (column == 0) {
                            JOptionPane.showMessageDialog(jTable1, "You can not rename this column.");
                            return;
                        }
                        boolean blag = true;
                        String sColumnName = null;
                        while (blag) {

                        sColumnName = (String) JOptionPane.showInputDialog(jTable1, "Enter Column Name", "Add Column", JOptionPane.INFORMATION_MESSAGE, null, null, null);
                        if (sColumnName == null) {
                            return;
                        }
                        if (sColumnName.trim().equalsIgnoreCase("")) {
                            JOptionPane.showMessageDialog(jTable1, "Column name can not be blank.");
                            blag = true;
                        } else {
                            blag = false;
                        }
                        Vector vColumns …
Run Code Online (Sandbox Code Playgroud)

java swing jtable defaulttablemodel

5
推荐指数
1
解决办法
1515
查看次数

将列添加到退出TableModel

我上课了;

public class A extends AbstractTableModel
{
 ...
}
Run Code Online (Sandbox Code Playgroud)

使用ResultSetMetaData我构建TableModel以匹配数据库中的结果集.

public class B extends JPanel
{
 ...
}
Run Code Online (Sandbox Code Playgroud)

B类中,我扩展了JPanel并添加了A类来显示我的表.我希望能够根据条件向表模型添加新列.我试过谷歌搜索,但大多数示例显示是基于DefaultTableModelAbstractTableModel.

有谁知道如何实现这一目标?

java swing jtable abstracttablemodel defaulttablemodel

4
推荐指数
3
解决办法
2万
查看次数

无论索引如何,最后一行始终从DefaultTableModel中删除

当我尝试从java中的表中删除行时,我遇到了一些问题.特别是,我使用DefaultTableModel,当我尝试删除行时,使用该removeRow(int row)方法,最后一行被删除,无论是什么row.例如,假设我们有六行.当removeRow(0)removeRow(2)removeRow(5)叫,最后一行是始终去除.任何想法,为什么会这样?

谢谢

---更新

当按下jtable的特定单元格时,应移除相应的行.

    class TagsTableMA extends MouseAdapter {

    @Override
    public void mousePressed(MouseEvent e){
        Point p = e.getPoint();
        int row = tagsJT.rowAtPoint(p);
        int column = tagsJT.columnAtPoint(p);

        if (column == COLUMN_DELETE_TAG){
            DocDialog docDialog = new DocDialog(parentMainJF, 
                                                true, 
                                                null, 
                                                "Please confirm...", 
                                                "Are you sure you want to delete the \"" + 
                                                tagsJT.getValueAt(row, COLUMN_TAG_NAME) +
                                                "\" tag?",
                                                DocDialog.TYPE_YES_NO);
            docDialog.show();
            int answer = docDialog.getAnswer();

            if (answer == DocDialog.YES)                                                
                    model.removeRow(row);
        }
    } …
Run Code Online (Sandbox Code Playgroud)

java swing row jtable defaulttablemodel

4
推荐指数
1
解决办法
939
查看次数

如何使JTable的单元格不可编辑,但可选择

我在我的代码中重写了JTable类的isCellEditable()方法,使我的JTable的单元格不可编辑但可选,但单元格仍然可编辑.我该如何解决这个问题?

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class A extends JTable{

    JFrame frame = new JFrame();
    Object data[][] = {{"1","Jahanzeb"},{"2","Ahmed"},{"3","Shaikh"}};
    String col[] = {"#","Names"};
    DefaultTableModel tableModel = new DefaultTableModel(data, col);
    JTable table = new JTable(tableModel);
    JScrollPane scroll = new JScrollPane(table);

    public static void main(String arg[]){
        new A();
    }

    public A() {

        table.addMouseListener(new Click());
         table.setModel(tableModel);
        frame.setSize(500,500);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(scroll);
        frame.add(table);
        frame.setVisible(true);
    }


    @Override
    public boolean isCellEditable(int row, int column){
        return false;
    }

    class Click extends …
Run Code Online (Sandbox Code Playgroud)

java swing jtable defaulttablemodel

4
推荐指数
1
解决办法
2万
查看次数

Java - JTable - 将单元格设置为不允许编辑

我有一个JTable,模型实例化为:

TableModel ss = new DefaultTableModel(myArray[][], myHeaderArray[]);
Run Code Online (Sandbox Code Playgroud)

生成数组的位置.但是,目前,您仍然可以编辑单元格.我怎么能阻止这个?

谢谢!

java arrays swing jtable defaulttablemodel

3
推荐指数
1
解决办法
5160
查看次数

JTable:按整数排序

我有一个JTable,我想有时按整数(大小列)排序行,有时候按字符串(文件路径)排序.所以我在谷歌搜索它,我来到这里.我已经知道我要覆盖一个名为getColumnClassDefaultTableModel方法.所以我在这里链接我的代码.

class Personal_model extends DefaultTableModel{

 Personal_model(String[][] s,String[] i){
      super(s,i);
 }


 @Override
 public Class<?> getColumnClass(int columnIndex){

      if (columnIndex!=2) 
              return String.class;
      else
              return Integer.class;

 }
}
Run Code Online (Sandbox Code Playgroud)

这里是通过模型'Personal_model'创建表的代码; 我还设置了roworter.但是这一切都不起作用!!!!! 帮帮我吧

      modeltable = new Personal_model(data,col);   
      table = new JTable(modeltable);
      table.setRowSorter(new TableRowSorter<Personal_model>(modeltable));
Run Code Online (Sandbox Code Playgroud)

通常情况下,没有我的排序器,所有都是完整的可视化,并且字符串被正确排序(很明显,因为通常它都按字符串排序..)

java swing jtable tablerowsorter defaulttablemodel

3
推荐指数
1
解决办法
8599
查看次数

DefaultTableModel使单元格不可编辑JTable

我有一个JAVA项目,并希望使用DefaultTableModel使我的JTable不可编辑.我知道一个解决方法,称为:

JTable table = new JTable(...){  
  public boolean isCellEditable(int row, int column){  
    return false;  
  }  
};  
Run Code Online (Sandbox Code Playgroud)

喜欢说:我不喜欢这个.这不符合我学校的训练规则.

有没有办法做到这一点?也许有一个好方法.希望如此!

java swing overriding jtable defaulttablemodel

3
推荐指数
1
解决办法
2万
查看次数