我需要删除JTable中的所有行.
我尝试了以下两种方法:
/**
* Removes all the rows in the table
*/
public void clearTable()
{
DefaultTableModel dm = (DefaultTableModel) getModel();
dm.getDataVector().removeAllElements();
revalidate();
}
Run Code Online (Sandbox Code Playgroud)
和
((DefaultTableModel)table.getModel()).setNumRows(0);
Run Code Online (Sandbox Code Playgroud)
两者都不会删除所有行.有任何想法吗?
我正在尝试使用JTables,TableModels,JTableHeaders,渲染器等.我正在尝试制作一个简单的虚拟表(用于练习目的),如下所示:
- 1 2 3
A A1 A2 A3
B B1 B2 B3
C C1 C2 C3
Run Code Online (Sandbox Code Playgroud)
我还希望B2单元格 - 只有那个单元格 - 具有蓝色(Color.BLUE)背景 - 所有其他单元格都可以具有自动分配的Swing默认颜色.
我的代码如下,基于我在本网站和互联网上发现的无数例子.但我没有得到我想要的结果.相反,我得到一个看起来像这样的表:
A A1 A2 A3
B B1 B2 B3
C C1 C2 C3
Run Code Online (Sandbox Code Playgroud)
请注意,第一行(标题)根本不存在.此外,使用下面列出的代码,这将执行并设置所有颜色单元格的颜色,而不仅仅是我想要的B2单元格.
代码:
public class MyTable
{
public static void main(String[] args)
{
String[][] data = getTableData();
String[] cols = getTableCols();
JFrame frame = magicallyCreateJFrame(); // I promise this works!
MyRenderer myRenderer = new MyRenderer(); // See below
DefaultTableModel defModel = …Run Code Online (Sandbox Code Playgroud)