标签: jtable

如何从JTable中删除选定的行?

我试过这个:

public void removeSelectedFromTable(JTable from)
{
    int[] rows = from.getSelectedRows();
    TableModel tm= from.getModel();

    while(rows.length>0)
    {
        ((DefaultTableModel)tm).removeRow(from.convertRowIndexToModel(rows[0]));

        rows = from.getSelectedRows();
    }
    from.clearSelection();
}
Run Code Online (Sandbox Code Playgroud)

但是,它有时会留下一个.可能是什么问题?

jtable

14
推荐指数
5
解决办法
5万
查看次数

如何从JTable中删除一行?

我想从JTable中删除一些行.我该怎么做?

java swing jtable

14
推荐指数
4
解决办法
10万
查看次数

为什么我的JTable错误地排序整数列?

我有一个使用DefaultTableModel的JTable,我允许在用户点击列标题时进行排序.但是,当用户单击具有integer类型数据的列的标头时,它不能正确排序.它似乎是按String而不是整数类型排序.

这是我的代码中我实际将数据添加到表中的部分:

        DefaultTableModel aModel = (DefaultTableModel) mainView.logEntryTable.getModel();
                    ResultSetMetaData rsmd;             try {
            mainView.logEntriesTableModel.setRowCount(0);
            rsmd = rs.getMetaData();

            int colNo = rsmd.getColumnCount();
            while(rs.next()){
                Object[] objects = new Object[colNo];
                for(int i=0;i<colNo;i++){
                    objects[i]=rs.getObject(i+1);
                }
                aModel.addRow(objects);
                count++;
            }
            mainView.logEntryTable.setModel(aModel);
            mainView.logEntryTable.getColumnModel().getColumn(0).setMaxWidth(80);
Run Code Online (Sandbox Code Playgroud)

所以我试图覆盖该方法并最终得到:

            @Override
            public Class<?> getColumnClass(int columnIndex){
                if( columnIndex == 0){
                    // Return the column class for the integer column
                }else{
                    // Return the column class like we normally would have if we didn't override this method
                }

                return null;
            }
        };
Run Code Online (Sandbox Code Playgroud)

我以前从未覆盖过这个,我不太清楚我在这里做什么.

java sorting swing jtable

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

如何在JTable上执行不区分大小写的过滤器?

我正在制作一个带有文本字段的表格,您可以在其中输入单词来过滤表格.它有效,但我想要做的是能够用输入的单词过滤它,但忽略单词的情况.有没有办法在不创建自定义的情况下完成此操作RowFilter

您可以运行此SCCEE以查看我正在谈论的内容.我想能够输入usa并且它将过滤USA.

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.RowFilter;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;

public class TestTableSortFilter extends JApplet {

    private String[] columnNames
            = {"Country", "Capital", "Population in Millions", "Democracy"};

    private Object[][] data = {
        {"USA", "Washington DC", 280, true},
        {"Canada", "Ottawa", 32, true},
        {"United Kingdom", "London", 60, true},
        {"Germany", "Berlin", 83, true},
        {"France", "Paris", 60, true},
        {"Norway", "Oslo", 4.5, …
Run Code Online (Sandbox Code Playgroud)

java swing jtable rowfilter

14
推荐指数
1
解决办法
7796
查看次数

Java:选定行的索引在排序时不会更改

我有一个Jtable,我称之为方法 table1.setAutoCreateRowSorter(true);.所以这很好用.但我在我的JFrame类中也有一个方法,当我按下按钮时会触发它.它使用此代码获取选定的行索引 int selectedRows[] = this.table1.getSelectedRows();.并显示所选间隔中对应的第一行的编辑窗口.

问题是,如果我没有点击列的标题(我的意思是我根本不对它们进行排序),我的方法是完美的.但是当我对行进行排序时,行的索引似乎根本没有变化 - 从而导致旧行的编辑窗口最初在进行任何排序之前处于该位置.

我正在使用JDK 6可以给任何提示吗?

java swing jtable selection

13
推荐指数
2
解决办法
9022
查看次数

如何在DragAndDrop期间在Main-JTable上绘制RowHeader-JTable的Dropline?

我在JScrollPane的Viewport中使用第二个JTable来为主表构建RowHeader.主表上的DragAndDrop已禁用.在rowheader表上启用DnD.

如果用户启动了rowheader上的Drag,我想在主表上扩展绘制的rowheader下划线(图像中的黑线)(如图中的绿线).

维护人员的下线

有人对我有建议吗?
这是SSCCE:

import java.awt.Component;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.DropMode;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JViewport;
import javax.swing.TransferHandler;
import javax.swing.UIManager;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumn;


public class DNDLinePainterExampleMain extends JFrame {

  public DNDLinePainterExampleMain() {
    JTable mainTable = new JTable(4, 3);
    mainTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

    JTable rowTable = new RowHeaderTable(mainTable);
    rowTable.setAutoscrolls(true);
    rowTable.setDragEnabled(true);
    rowTable.setTransferHandler(new RowHeaderTransferHandler());
    rowTable.setDropMode(DropMode.INSERT_ROWS);

    JScrollPane scrollPane = new JScrollPane(mainTable);
    scrollPane.setRowHeaderView(rowTable);
    scrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER,
        rowTable.getTableHeader()); …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing drag-and-drop jtable

13
推荐指数
4
解决办法
1717
查看次数

JTable多个标题行

我在我的应用程序中使用JTable并希望有2行标题,类似于: 像这样

这甚至是可能还是我必须做别的事?如果是这样,什么?使用Supertitle-titleA,SuperTitle-titleB将占用太多空间并使信息冗余.

java swing jtable jtableheader

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

将arrayList数据加载到JTable中

我正在尝试从一个被调用的方法中设置项目,FootballClub到目前为止它很好.但后来我从它创建了一个arrayList,我不知道怎么找不到将这些信息存储到JTable中的方法.问题是我找不到设置固定行数的方法

这是我的代码:

类StartLeague:

import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;

public class startLeague implements LeagueManager{

//setting the frame and other components to appear

public startLeague(){
    JButton createTeam = new JButton("Create Team");
    JButton deleteTeam = new JButton("Delete Team");

    JFrame frame = new JFrame("Premier League System");
    JPanel panel = new JPanel();
    frame.setSize(1280, 800);
    frame.setVisible(true);
    frame.add(panel);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    String col[] = {"Pos","Team","P", "W", "L", "D", "MP", "GF", "GA", "GD"};

    panel.setLayout(new GridLayout(20, 20));
    panel.add(createTeam);
    panel.add(deleteTeam);
    panel.add(new JLabel(""));
    //JLabels to fill the space
    }
    } …
Run Code Online (Sandbox Code Playgroud)

java swing jtable arraylist grid-layout

13
推荐指数
2
解决办法
9万
查看次数

如何在DefaultTableModel/JTable中合并单元格?

我搜索了很多并得到了这个Q的答案.但是他们中的许多人都提到了404错误的链接.我想像这样制作表格:

要合并的单元格数不固定

java中有没有这方面的方法?

java swing jtable tablecellrenderer jtableheader

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

如何在JTable java中搜索元素?

我在java中创建了一个JTable.除了搜索表格中的元素,我可以做任何事情.我想要一个输入对话框,所以这就是我现在所拥有的:

btnSearch = new JButton("Search");
    btnSearch.addActionListener(new ActionListener() 
    {
        public void actionPerformed(ActionEvent e) 
        {    
            String name = JOptionPane.showInputDialog("Wat wil je zoeken?");
        }
    });
    add(btnSearch);
Run Code Online (Sandbox Code Playgroud)

我想用for循环来做.但我不知道怎么做.有人可以帮我吗?

java search swing jtable

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