我正在使用netbeans IDE7.4,我在运行时向JTable添加行,现在我想为特定行设置背景色。
现在的问题是,当该行的值被更改时,该特定行的颜色不会更改,而当我向上或向下滚动表时,将应用这些更改。
如何在运行时刷新表格?如何在运行时设置特定行的背景色?
这是我用来给特定行着色的渲染器类:
public class MyCellRenderer extends javax.swing.table.DefaultTableCellRenderer
{
public java.awt.Component getTableCellRendererComponent(j
我试图在Jtable上设置一个RowSorter,我使用setAutoCreateRowSorter(Boolean b)方法对行进行排序
table.setAutoCreateRowSorter(true);
但是,当我将表设置为rawSorted时,会出现一个奇怪的错误!
当我想删除一行时,冲突是可见的,我使用了fireTableRowsDeleted()。
int raw = table.getSelectedRow(); // the index of raw that i want to delete it
System.out.println(raw);
model.delte_
在向jxtable的tablemodel中添加行时出现问题。
将抛出以下异常:
Exception in thread "Thread-9" java.lang.IndexOutOfBoundsException: Invalid range
at javax.swing.DefaultRowSorter.checkAgainstModel(DefaultRowSorter.java:904)
at javax.swing.DefaultRowSorter.rowsInserted(DefaultRowSorter.java:844)
at javax.swing.JTable
我不确定为什么这是递归。
jTable1.getModel().addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent evt) {
int sum = 0;
int i=0;
for (i =0 ; i<2; i++){
sum = sum + Integer.parseInt(jTable1.getValueAt(0, i).toString());
}
jTable1.setValueAt(sum, 0, 2);
}
});
下面是一个自动完成JTextField的JTable的SSCCE。
它可以正常工作,直到我想在选定行时做一些事情。问题是,每当选择JTable中的一行时,更改JTextField文本将引发异常:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.Vector.elementAt(Vector.java:430)
at javax.swing.table.DefaultTableModel.getValueAt(Defau
我不是在问如何在JTable中显示组件,因为在线有几个教程和示例。然而,我想知道这样做的最佳方式是什么。
例如,我遇到的大多数教程都有创建单独类的例子(主类,扩展JTable的类,扩展TableModel的类,扩展TableCellRenderer的类等等)。但是,我发现您不能只在一个类中这样做,而只能在一个方法中使用以下方法:
示例代码(SSCCE)
主
public class Main
{
public static void main(String[] args)
{
javax.swing.JFrame jf = new javax.swing.JFrame(
主类:
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewMDIApplication().setVisible(true);
new TestTable();
}
});
}
我在我的jtable排序机制中找不到问题,当我在搜索代码中实现排序时,它给了我数组索引越界,填充的表代码在初始阶段工作得很好,但在搜索发生后,它也被卡住了。
我的应用程序有一个文本字段区域,它接受从数据库中搜索的关键字。现在,在搜索之后,它将其显示在jtable上,我想为此提供表排序。任何帮助都是非常感谢的。谢谢。我还提供了下面的堆栈跟踪。
//问题代码
// for searching data from data base and display it in table
// according to the keyword typed.
private void jTextField1
当我试图从我的.ArrayIndexOutOfBoundsException中删除一行时,我得到了JTable。
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.Vector.elementData(Vector.java:734)
at java.util.Vector.elementAt(Vector.java:477)
at javax.swing.table.DefaultTableModel.getV
这是我的第一个问题。首先,我是一个Java新手,仍然在努力理解事件。我有一个扩展AbstractTableModel的自定义模型的JTable、一个实现TableModelListener的CustomTableModelHandler和一个自定义TableCellRenderer,以便显示一些自定义工具提示(来自不同列的数据的组合)。用户只能进行单行选择,我选中了autocreaterowsorter选项。在删除行时,我使用以下方法:
public void removeRow(int modelIndex) {
fireTableRowsDeleted(modelIndex, mo
我在Netbeans上做了一个小UI,并在一个单独的类(Action等)中实现代码。我试图用存储在JTable数据库中的数据刷新MySql,但是在运行主类时会遇到这个错误,问题不是JDBC连接,这很好,但是它没有将数据打印到JTable。
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.Hashtable$Enumerator.next(Hashtable.java:1031)
at com.sun.java.swing.plaf.nimbus.NimbusSty
当我从Swing JTable中删除一行时,我单击JTable,就会得到一个异常:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2 >= 2
at java.util.Vector.elementAt(Unknown Source)
at javax.swing.table.DefaultTableModel.setValueAt(Unknown Source)
at javax.swing.JTable.setValueAt(Unknown Source
我正在读取一个文件,并希望将其输出到jTable以供查看和编辑。当我尝试在DefaultTableModel中添加行时,由于某种原因,模型总是空的。任何帮助/指导都将不胜感激。谢谢!
public class ReadFileGUI extends javax.swing.JFrame {
public static String file;
private DefaultTableModel model = new DefaultTableModel();
public ReadFileGUI() {
initComponents();
}
@SuppressWarnings
下面是我的代码。我已经创建了一个4列3行的Jtable。并添加表模型listener,在table change Listener中,当我设置特定列中的值时,堆栈溢出错误就来了。
**error is Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at java.nio.Buffer.<init>(Buffer.java:189)
at java.nio.CharBuffer.<init>(CharBuffer.java:276)
at ja
现在是星期一早上,这意味着我在Java Swing上失败的时候到了!但说真的,我不明白为什么我的动态创建的JTable在添加到JFrame上的JPanel后拒绝显示自己,如果能帮助我解决这个麻烦的问题,我将非常感激。正如你从代码中看到的,我已经调用了十几个不同的方法,但似乎无法获得正确的方法来将其传递给display...perhaps我遗漏了一个?
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package energizingemera
我有一个界面,有多个小JTables堆叠在一起。我希望它们的列大小、排序、过滤等保持同步。有没有一种简单的方法可以做到这一点?
对于列宽,我尝试让它们共享一个公共的TableHeaderModel,但这似乎带来了意想不到的问题,比如只能使用添加的最后一个表来调整大小。我可以让它们的列宽保持同步,同时能够使用任何表调整大小,如果有人有解决方案的话。
我在下面发布了一个代码示例。运行时,您会注意到您不能调整第一个或第二个表头的大小,但第三个表头会调整它们的大小。我想要第三个表的行为,但是来自任何表头。
谢谢。
package javaapplication5;
public class NewJ