Java 如何将字符[][]放入jTable?
我很难将二维字符数组显示到jTable中。 我正在使用netbeans 有人能指导我如何: char[][]字集 变成一个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(对象[],对象[])不
(参数不匹配;字符[]无法转换为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);