标签: defaulttablemodel

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

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

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

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

谢谢!

java arrays swing jtable defaulttablemodel

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

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万
查看次数

JTable中的选定单元格不会刷新

我正在编写一个类来跟踪线程并在JTable中显示状态/进度.我想到的是一个JTable,其中包含所有必要的状态/按钮/等.在一列中布置,每行一个线程.我使用单元格编辑器来获取表格中的可点击按钮,但我无法解决的问题是,除非我点击另一个单元格,否则所选单元格中的项目不会更新.有没有办法让所选单元格仍然更新?下面的代码演示了这个问题.单击行中的开始按钮将启动该线程,但在选择该行时,连续进度将不会更新.

import javax.swing.*;
import javax.swing.table.*;
import java.util.Random;
import java.lang.Thread;
import java.lang.Math;
import java.beans.*;
import java.util.concurrent.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;

/*
 * Program tracks some threads' progress, updating status in
 * cells in a JTable.
 *
 * Inner classes are MyDefTM, ThreadOB and ThreadCell which are
 * the table model, the object representing the thread's data and
 * the renderer/editor "stamp", respectively.
 */
public class ThreadManager {
    public JFrame jFrame;
    public JTable jTable;
    public MyDefTM tm;
    public …
Run Code Online (Sandbox Code Playgroud)

java swing jtable swingworker defaulttablemodel

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

DefaultTableModel 不返回 dataVector 中的值

JTable我的问题与和相关DefaultTableModel。我的任务是创建JTable一个显示带有复选框的数据...我成功地完成了..但是我想删除由JTable复选框选择的行...我知道这已经被问了太多次...而且我需要使用removeRow(int row)方法用于删除...但是当我执行该语句时

DefaultTableModel model=(DefaultTableModel)jTable1.getModel();
int totalrows=model.getRowCount();
for (int i = totalrows - 1 ; i >= 0; i--)
{
    Boolean checked = (Boolean) jTable1.getModel().getValueAt(i, 8);

    if (checked) 
    {
        ((DefaultTableModel)jTable1.getModel()).removeRow(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

它总是从getRowCount()方法返回 0,因此它不会进入循环。表已经有行。

我的TableModel班级如下

public class tabmod extends DefaultTableModel
{
    public tabmod(Object rowData[][], Object columnNames[]) {
        super(rowData, columnNames);
    }

    @Override
    public Class getColumnClass(int col) {
        if (col == 8)
            return Boolean.class;
        return super.getColumnClass(col); //other columns accept String …
Run Code Online (Sandbox Code Playgroud)

java swing jtable defaulttablemodel

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

Jtable不刷新/更新数据

我有JTable/ 的问题JScrollPane.我的数据表没有刷新/更新.我正在使用DefultTableModel并根据代码一切正常,我没有任何错误.此外,我有一个分页表,这就是为什么我使用动作监听器和按钮"prev"和"next".我从其他函数传递给在类中编码的函数 JTable.问题是我填充了包含表数据的数组,但表不会更新/刷新它.这是我的代码.谢谢你.

BIG EDIT旧代码已被删除.我添加了新的代码,可以帮助你们/女孩了解我的问题.希望这会有所帮助.问候.

这里首先是显示gui的类:

import javax.swing.*;
public class Glavni {
public static void main(String[] args)  {
    // TODO Auto-generated method stub
    SwingUtilities.invokeLater(new Runnable() {
        public void run() {
                gui Scanner = new gui();
                Scanner.setVisible(true);
        }
    });
}

}
Run Code Online (Sandbox Code Playgroud)

第二个是将String传递给包含jtable的gui类的类

public class passDatatoTable {
public void passData(){
    String str1,str2,str3,str4;
    gui SendStringsToGUI = new gui();
    for (int i =0;i<=10;i++){
            str1="Column 1 of row: "+i;
            str2="Column 2 of row: "+i;
            str3="Column 3 of …
Run Code Online (Sandbox Code Playgroud)

java swing jtable jscrollpane defaulttablemodel

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

将鼠标悬停在jtable单元格上时显示图像

我有一个使用DefaultTableModel创建的JTable,我想在鼠标悬停在该JTable的特定单元格上时显示图像,并且我需要每个单元格的图像不同.

提前致谢

java swing image jtable defaulttablemodel

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

Java - 鼠标事件在JTable中不起作用

我无法尝试在JTable工作中创建单击行事件.我已将事件添加到我的JTable中,但是当我运行程序并单击该行时,它不会显示该消息.

这是我的代码:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.sql.SQLException;

import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;

public class listContacts extends JFrame {

public listContacts(){

    setLayout(new FlowLayout());

    String[] columnNames = {"GSD Number", "Scheduled Time"};
    Object [][] dataTable = {};

    DefaultTableModel listTableModel;
    listTableModel = new DefaultTableModel(dataTable, columnNames) {

        //Prevent user from editing the cells
        public boolean isCellEditable(int rowIndex, int mCollIndex){
            return false;
        }
    };

    int cont = 1;

    while(cont < 10){
        listTableModel.addRow(new Object[] {cont, …
Run Code Online (Sandbox Code Playgroud)

java swing jtable mouseevent defaulttablemodel

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

JTable 添加 File 对象,但只显示 File Name

我有一个 Java 应用程序,它使用 JTables 添加文件以供浏览。它仅包含 1 列:

DefaultTableModel model = new DefaultTableModel(new String[] {"Name"}, 0);

    JTable tracks = new JTable(model){
        public boolean isCellEditable(int rowIndex, int collIndex){
            return false;
        }
    };

tracks.addMouseListener(new PopupListener());

tracks.setShowGrid(false);
Run Code Online (Sandbox Code Playgroud)

将文件添加到表是这样完成的:

for (File file : results){
    model.addRow(new Object[] {file});
}
Run Code Online (Sandbox Code Playgroud)

我需要添加实际文件,而不仅仅是它的名称,因为我稍后会使用它。但是,该表是否可能只显示文件名(file.getName();)而不是整个路径?

java swing file jtable defaulttablemodel

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

从 JTable 中删除行

我需要从 JTable 中删除行。

这是我的代码:

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.GridLayout;


import javax.swing.JPanel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;

public class GuiManyComponents implements ItemListener, ActionListener {
 public static void main(String[] args) {
  new GuiManyComponents();
}

JTextField txtField1;
JTextArea tarMultipleLines;
JButton btnDelete;
JButton btnAdd;
JButton btnEdit;
JButton ok;
JButton cancel;
JTable table …
Run Code Online (Sandbox Code Playgroud)

java swing jtable defaulttablemodel

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

DefaultTableModel上的"Super"和"this"

我的类从DefaultTableModel扩展

我尝试:

super.removeRow(...);
Run Code Online (Sandbox Code Playgroud)

this.removeRow(...);
Run Code Online (Sandbox Code Playgroud)

为什么他们都工作?

java swing jtable defaulttablemodel

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