Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将字符[][]放入jTable?_Java_Swing_Jtable - Fatal编程技术网

Java 如何将字符[][]放入jTable?

Java 如何将字符[][]放入jTable?,java,swing,jtable,Java,Swing,Jtable,我很难将二维字符数组显示到jTable中。 我正在使用netbeans 有人能指导我如何: char[][]字集 变成一个jTable 获取错误 这就是我得到的错误 (参数不匹配;字符[]无法转换为TableModel)构造函数JTable。JTable(int,int)不适用(参数不匹配;字符[]无法转换为int)构造函数JTable。JTable(Vector,Vector)不适用(参数不匹配;char[][]无法转换为Vector)构造函数JTable。JTable(对象[],对象[])不

我很难将二维字符数组显示到jTable中。 我正在使用netbeans

有人能指导我如何: char[][]字集

变成一个jTable

获取错误

这就是我得到的错误

(参数不匹配;字符[]无法转换为TableModel)构造函数JTable。JTable(int,int)不适用(参数不匹配;字符[]无法转换为int)构造函数JTable。JTable(Vector,Vector)不适用(参数不匹配;char[][]无法转换为Vector)构造函数JTable。JTable(对象[],对象[])不适用(参数不匹配;字符[]无法转换为对象[]])

使用后:

JTable table = new JTable(w.getPuzzleSet(), "Puzzle");

使用对象而不是字符。代替

char[][] charTable = {{'a', 'b', 'c'},{'d', 'e','f'}};
使用

正如@nachokk所指出的,您还可以使用
字符

Character[][] charTable = {{'a', 'b', 'c'},{'d', 'e','f'}};
char[][]
Object[][][]
不同,因为
char
是原语
JTable
具有使用
Object[][]
Vector
的构造函数,没有
char[][][]

示例

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;

public class CharTable extends JPanel{
    private static final int DIM_WIDTH = 500;
    private static final int DIM_HEIGHT = 500;

    Object[][] charTable = {{'a', 'b', 'c'},{'d', 'e','f'}};
    String[] colNames = {"col1", "col2", "col3"};

    public CharTable(){
        add(new JScrollPane(new JTable(charTable, colNames)));
    }

    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D)g;
    }

    public static void createAndShowGui(){
        JFrame frame = new JFrame();
        frame.add(new CharTable());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationByPlatform(true);
        frame.pack();
        frame.setVisible(true);

    }

    public Dimension getPreferredSize(){
        return new Dimension(DIM_WIDTH, DIM_HEIGHT);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                createAndShowGui();
            }
        });
    }
}

您可以通过执行以下操作将您的字符[]转换为对象[]:

char[][] wordSet = { {'a', 'b'},{'c', 'd'} };
String[] header = {"one", "two"};

Object[][] objectSet = new Object[wordSet.length][wordSet[0].length];

for (int i = 0; i < wordSet.length; i++) {
    for (int j = 0; j < wordSet[0].length; j ++) {
        objectSet[i][j] = wordSet[i][j];
    }
}

JTable table = new JTable(objectSet, header);
char[]wordSet={{'a',b'},{'c',d'};
字符串[]头={“一”,“二”};
对象[][]对象集=新对象[wordSet.length][wordSet[0].length];
for(int i=0;i
如果你不努力,你就什么也学不到。你在挣扎什么?另外,.that是我得到的错误(参数不匹配;char[][]无法转换为TableModel)构造函数JTable。JTable(int,int)不适用(参数不匹配;char[][]无法转换为int)构造函数JTable。JTable(Vector,Vector)不适用(参数不匹配;char[][]无法转换为Vector)构造函数JTable.JTable(对象[],对象[])在使用后不适用(参数不匹配;无法将字符[]转换为对象[]]):JTable table=new JTable(w.getpuzzset(),“Puzzle”)@user3131312:您可能应该将该错误和导致该错误的代码添加到您的帖子中。JTable(Object[][]行数据,Object[]列名称)我传递了Char[][]数据如何将现有的charTable转换为Object类型只需使用我正在使用的Object类型,但是希望以table@peeskillet您可以使用
Character[][]
@user3131312执行nachokk所说的操作如何创建没有列名的表,JTable table=new JTable(objectSet,?);table.setTableHeader(空);
char[][] wordSet = { {'a', 'b'},{'c', 'd'} };
String[] header = {"one", "two"};

Object[][] objectSet = new Object[wordSet.length][wordSet[0].length];

for (int i = 0; i < wordSet.length; i++) {
    for (int j = 0; j < wordSet[0].length; j ++) {
        objectSet[i][j] = wordSet[i][j];
    }
}

JTable table = new JTable(objectSet, header);