标签: abstracttablemodel

使用AbstractTableModel从JTable中选择表行时出错

我有一个类型模块的ArrayList,每个模块都有一个分配的arraylist.我写了下面的TableModel,但是当在表中选择了某些东西时,我遇到了问题,导致我的ArrayLists超出范围.这是我的桌子型号:

public class AssignmentsTableModel extends AbstractTableModel {
private ArrayList<Module> modules;
private static final String[] COLUMN_NAMES = {"Module Identifier", "Module Name", "Assignment Title", "Author", "Date Set", "Date Due", "Weighting"};

private int moduleID;
private int assignmentID;
private Module module;
private int totalNumberAssignments;

public AssignmentsTableModel(ArrayList<Module> modules) {
    moduleID = 0;
    assignmentID = 0;
    this.modules = modules;
    module = modules.get(moduleID);
    totalNumberAssignments = getRowCount();
}

public AssignmentsTableModel(Module module) {
    modules = new ArrayList<Module>();
    modules.add(module);
}

@Override
public int getRowCount() {
    int rowCount = 0;
    for(Module …
Run Code Online (Sandbox Code Playgroud)

java swing jtable abstracttablemodel

0
推荐指数
1
解决办法
278
查看次数

为什么构造函数不能在下面的代码中工作?

在这里,我想使用构造函数动态分配表中的行数.datamodel是类,datamodel(int count)方法指定no.of行.

import javax.swing.table.AbstractTableModel;

@SuppressWarnings("serial")
public class datamodel extends AbstractTableModel{
    int row1;
    datamodel(int count){

        row1 = count;
        count = 0;
    }

    private String[] columnNames = {"Sl No","Material Code", "Material Name", "Select", "Received QTY", "Unit", "To Be Delivered", "PO No", "PO Sl"};//new String[9];
    //table has 100 rows and 9 columns
    private Object[][] data = new Object[row1][9]; 


    public int getColumnCount() { return columnNames.length; }
    public int getRowCount() { return data.length;}
    public String getColumnName(int col) {
        // TODO Auto-generated method stub
        return columnNames[col]; …
Run Code Online (Sandbox Code Playgroud)

java swing jtable abstracttablemodel

0
推荐指数
1
解决办法
110
查看次数

swing jtable默认显示多行

我正在使用java swing和NetBeans开发桌面应用程序它使用带有自定义表模型的jtable来呈现数据.我希望在表中显示最小行数,这样即使要显示的实际行数小于最小值,表也应显示其他虚拟行以构成最小数量.

下面是表模型的代码片段

public class MyTableModel extends AbstractTableModel {

    private List<List<Object>> dataList = new ArrayList<>();
     private String[] header = { "ID","SUBJECT","LETTTER FROM","LETTER DATE","DATE RECEIED",
                                  "REMARKS","DATE DISPATCHED","DESTINATION OFFICE"};


    public List<List<Object>> getDataList() {
        return dataList;
    }

    public void setDataList(List<List<Object>> dataList) {       
        this.dataList = dataList;
        fireTableDataChanged();       
        fireTableStructureChanged();        
    }

    public void setHeader(String[] header) {
        this.header = header;
    }

    public String[] getHeader() {
        return header;
    }

    @Override
    public int getRowCount() {
        return dataList.size();
    }

    @Override
    public int getColumnCount() {
        return header.length;
    }

    @Override
   public String …
Run Code Online (Sandbox Code Playgroud)

java swing netbeans jtable abstracttablemodel

0
推荐指数
1
解决办法
2017
查看次数

Java Boolean into Object [] []

我得到了以下代码,并且有这个错误(我试图保持代码尽可能短,忽略getColumnCount等函数只是构造函数):

下面的代码用于通过SQLite语句在Swing中创建JTable,我需要复选框的布尔值(是的,我知道我必须编辑/添加一个函数,但我想保持代码尽可能小).

码:

package view;

import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.table.AbstractTableModel;

import controller.Database;

class Test extends AbstractTableModel {
        Database db = new Database();
        ResultSet rs;

        private String[] columnNames = {"Vorname", "Nachname", "E-Mail", "Anrede", "Jahrgang", "Ablösung", "Scheibe", "Waffe", "Gruppe", "Verpflegung", "Aktiv"};
        Object[][] data;

        public Test(){
            int result = 0;
            try {
                rs = db.stat.executeQuery("select count(*) as schuetzencount from schuetze;");
                result = Integer.parseInt(rs.getString("schuetzencount"));
                data = new String[result][11];
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            try {
                rs …
Run Code Online (Sandbox Code Playgroud)

java swing boolean jtable abstracttablemodel

0
推荐指数
1
解决办法
1215
查看次数

setCellRenderer() 不起作用

我正在尝试为特定列设置渲染器,但不知何故此渲染器并未用于渲染该列。对此有什么解释吗?

tabledata = new LendDataTable();
table.setModel(tabledata);
TableColumn xx = table.getColumnModel().getColumn(3);
xx.setCellRenderer(new BookBackRenderer());//here it doesn't (there are 7 rows in total)
table.setDefaultRenderer(Integer.class, new BookBackRenderer());// here it works
add(table, BorderLayout.CENTER);



public  class BookBackRenderer extends DefaultTableCellRenderer {

/**
 * 
 */
private static final long serialVersionUID = 1L;

public BookBackRenderer() {
    // TODO Auto-generated constructor stub

}

@Override
public Component getTableCellRendererComponent(JTable table, Object value,
        boolean isSelected, boolean hasFocus, int row, int column) {


    System.out.println(column);
    return super.getTableCellRendererComponent(table, value.toString() + "xy", isSelected, hasFocus, row, column);
} …
Run Code Online (Sandbox Code Playgroud)

java swing jtable tablecellrenderer abstracttablemodel

0
推荐指数
1
解决办法
1831
查看次数

排序后无法从JTable获取正确的行(Swing)

我有一个AbstractTableModel,像这样:

public class TableModelClienteFornecedor extends AbstractTableModel {

    private List<ClienteFornecedorDTO> linhas;
    private String[] colunas = new String[]{"Nome", "Conta"};

    public TableModelClienteFornecedor() {
        linhas = new ArrayList<>();
    }

    @Override
    public int getRowCount() {
        return linhas.size();
    }

    @Override
    public int getColumnCount() {
        return colunas.length;
    }

    @Override
    public String getColumnName(int column) {
        return colunas[column];
    }

     @Override
    public Class getColumnClass(int column) {
         return (getValueAt(0, column).getClass());        
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        ClienteFornecedorDTO cf = linhas.get(rowIndex);
        switch (columnIndex) {
            case 0:
                return cf.getNome();

            case …
Run Code Online (Sandbox Code Playgroud)

java swing netbeans jtable abstracttablemodel

0
推荐指数
1
解决办法
1988
查看次数

getValueAt AbstractTableModel Java的方法

我需要一些getValue方法的帮助

我正在读取文件并将值存储在

 public List<Object[]> students;
Run Code Online (Sandbox Code Playgroud)

现在我想将所有这些值添加到我的JTable中

 @Override
    public Object getValueAt(int row, int col) {
        //return data[row][col];
        // Here I have to get data from students
    }
Run Code Online (Sandbox Code Playgroud)

通常从很多例子中我看到他们Object[][] data用来做这种事情,这可能是这样的

//return data[row][col];
Run Code Online (Sandbox Code Playgroud)

但是因为我从我想要的文件中读取 List<Object[]> students;

任何想法如何在getValueAt方法中实现它?

我的解决方案就是这个

@Override
    public Object getValueAt(int row, int col) {
        //return data[row][col];
        for(Object[] j: students)
        {
            return j[col];
        }
        return null;
    }
Run Code Online (Sandbox Code Playgroud)

但这只会占用第一个对象,并将分配给我的JTable中的所有行

java swing jtable abstracttablemodel

0
推荐指数
1
解决办法
1342
查看次数

AbstractTableModel GUI显示问题

我正在GUI为数据库创建一个项目,有两个类用于GUI's.连接器类用于连接用户凭据.如果凭据正确,则获取from中的所有数据AbstractTableModel.当程序先运行时GUI有一个按钮,我们在其中单击它并获取底层的所有数据TableModel.但我面临两个问题.在GUI2课堂上,有时它会像这样打开.

在此输入图像描述

有时它显示这样

http://imageshack.com/i/p3gBDt9Ej

我不知道为什么会这样.第二个问题是当我们从表中选择任何行并单击DeleteSelectedRow按钮时它会删除该行.此按钮有一个ActionListener中GUI2类.但我想要的是我删除行时自动更新表.我怎样才能做到这一点?

第一课 GUI

public class Gui extends JFrame {
    private static Connector conni;
    private Connection conn = null;
    private JButton bt;
    private JPanel panel;

    public Gui() {
        super("Frame");
        panel = new JPanel();
        bt = new JButton("Connect to Database 'World'");
        panel.add(bt);
        bt.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

                conn = conni.Connector();

                if (conn != null) {
                    dispose();
                    new …
Run Code Online (Sandbox Code Playgroud)

java swing jdbc jtable abstracttablemodel

-1
推荐指数
1
解决办法
1677
查看次数