我设置了三个一维数组:
String [] columnnames = {"Item", "Volume of Item (Cubic Feet)"};
String [] livingroomitems = {"Articial Plant/Hall Tree", "Bar Portable", "Bench", "Bookcase", "Bookshelves", "Chair,Arm", "Chair,Occasional",
"Chair,Overstuffed", "Chair,Recliner", "Chair, Rocker", "Chair, Straight", "Clock, Grandfather*", "Computer",
"Desk, Winthrop", "Desk, Secretary", "Desk, Office", "Desk, Roll Top", "Entertainment Center", "Fireplace Equipment",
"Futon, Single", "Futon, Double", "Futon, Queen", "Futon, King", "Lamp, Floor", "Magazine Rack", "Music Cabinet",
"Ottoman", "Piano, Baby Grand*", "Piano, Parior Grand*", "Piano, Spinet", "Rugs, Large", "Rugs, Small", "Sofa, Large",
"Sofa, Love Seat", "Sofa, Sectional", "Sofa, Hideabed", "Stereo Components", "Stereo Speakers", "Table, Coffee",
"Table, End or Nest", "Table, Sofa", "TV Big Screen*", "TV Console", "TV Model", "TV Stand", "VCR", "Chandelier*"};
int [] livingroomdata = {6, 15, 5, 20, 5, 10, 15, 25, 25, 25, 5, 20, 10, 20, 35, 30, 30, 30, 5, 40, 60, 65, 70, 3, 2, 10, 5, 70, 80, 60, 10,
5, 50, 35, 30, 50, 10, 10, 10, 5, 10, 40, 20, 5, 3, 2, 10 };
我了解通常,我必须创建一个二维
Object
或Vector
才能将livingroomitems
和livingroomdata
并排添加到JTable
中。但是,我想将livingroomdata
保留为int
,以便以后可以处理数据。有没有一种方法可以将一维数组逐列地放入JTable
,这样我就不必更改数据类型了? 最佳答案
我想将livingroomdata保留为int,以便以后可以处理数据。
所有数据操作都应通过TableModel完成。您可以使用诸如getValueAt()和setValueAt()之类的方法来处理数据。然后,当数据更改时,JTable将立即反映更改。
您永远不要更改阵列中的数据。 TableModel将不知道更改,而表将永远不会显示更改的数据。
如果您需要在JTable范围之外操作数据,即您不希望更改反映在表中,则应该扩展DefaultTableModel并创建一个将返回所有int值的getVolumeValues()
方法用于数组中的TableModel。
是否有可能将一维数组逐列排成JTable
话虽如此,您最初可以使用addColumn(...)
方法用数组中的数据填充DefaultTableModel。数据将被从Array复制到DefaultTableModel所使用的Vector,因此您永远不要再次引用Array数据(如果您的表是可编辑的),因为数据可能已更改。