如何从多个 ArrayList 创建 JTable?
How do you create a JTable from multiple ArrayLists?
ArrayList<String> mediaCompany = new ArrayList<String>();
ArrayList<Double> rank = new ArrayList<Double>();
// SAMPLE CODE
static void displayTable(ArrayList<String> mediaCompany, ArrayList<Double> rank) {
// ADD TABLE
String [] columnNames = {"Media Platform", "Ranking"};
DefaultTableModel model = new DefaultTableModel(columnNames, 0);
JTable table = new JTable(model);
for (int i = 0; i < mediaCompany.size(); i++) {
Object[] row = {mediaCompany.get(i), rank.get(i)};
model.addRow(row);
}
}
所以我是 Java 的新手,想学习如何创建一个 table,其中 someStringX 的元素显示在控制台的列中,x 的元素显示在控制台的行中,例如那:
someStringX
Value of X
someStringX
x1
someStringX2
x2
someStringX3
x3
someStringX4
x4
...
...
示例:
mediaCompany = [脸书,Google,推特]
排名 = [4, 7, 2]
mediaCompany
rank
Facebook
4
Google
7
Twitter
2
到目前为止,尽管导入了适当的包,我还是无法启动 JTable 和 运行。
这是一个示例代码,可以满足您的需要:
public static void main(String[] args) {
List<String> mediaCompany = List.of("Facebook", "Google", "Twitter");
List<Integer> rank = List.of(4, 7, 2);
DefaultTableModel model = populateTableModel(mediaCompany, rank);
createTable(model);
}
static DefaultTableModel populateTableModel(List<String> mediaCompany, List<Integer> rank) {
String[] columnNames = { "Media Platform", "Ranking" };
DefaultTableModel model = new DefaultTableModel(columnNames, 0);
for (int i = 0; i < mediaCompany.size(); i++) {
Object[] row = { mediaCompany.get(i), rank.get(i) };
model.addRow(row);
}
return model;
}
static void createTable(DefaultTableModel model) {
JFrame jFrame = new JFrame();
JTable jTable = new JTable(model);
JScrollPane sp = new JScrollPane(jTable);
jFrame.add(sp);
jFrame.setSize(300, 400);
jFrame.setVisible(true);
}
我使用“List.of”来填充列表,这是一个 Java9 功能,您可以使用任何其他方式填充它们。
populateTableModel() 方法负责检索已填充所有列名和行的 DefaultTableModel。
createTable() 方法将实际生成 table。
ArrayList<String> mediaCompany = new ArrayList<String>();
ArrayList<Double> rank = new ArrayList<Double>();
// SAMPLE CODE
static void displayTable(ArrayList<String> mediaCompany, ArrayList<Double> rank) {
// ADD TABLE
String [] columnNames = {"Media Platform", "Ranking"};
DefaultTableModel model = new DefaultTableModel(columnNames, 0);
JTable table = new JTable(model);
for (int i = 0; i < mediaCompany.size(); i++) {
Object[] row = {mediaCompany.get(i), rank.get(i)};
model.addRow(row);
}
}
所以我是 Java 的新手,想学习如何创建一个 table,其中 someStringX 的元素显示在控制台的列中,x 的元素显示在控制台的行中,例如那:
someStringX | Value of X |
---|---|
someStringX | x1 |
someStringX2 | x2 |
someStringX3 | x3 |
someStringX4 | x4 |
... | ... |
示例: mediaCompany = [脸书,Google,推特]
排名 = [4, 7, 2]
mediaCompany | rank |
---|---|
4 | |
7 | |
2 |
到目前为止,尽管导入了适当的包,我还是无法启动 JTable 和 运行。
这是一个示例代码,可以满足您的需要:
public static void main(String[] args) {
List<String> mediaCompany = List.of("Facebook", "Google", "Twitter");
List<Integer> rank = List.of(4, 7, 2);
DefaultTableModel model = populateTableModel(mediaCompany, rank);
createTable(model);
}
static DefaultTableModel populateTableModel(List<String> mediaCompany, List<Integer> rank) {
String[] columnNames = { "Media Platform", "Ranking" };
DefaultTableModel model = new DefaultTableModel(columnNames, 0);
for (int i = 0; i < mediaCompany.size(); i++) {
Object[] row = { mediaCompany.get(i), rank.get(i) };
model.addRow(row);
}
return model;
}
static void createTable(DefaultTableModel model) {
JFrame jFrame = new JFrame();
JTable jTable = new JTable(model);
JScrollPane sp = new JScrollPane(jTable);
jFrame.add(sp);
jFrame.setSize(300, 400);
jFrame.setVisible(true);
}
我使用“List.of”来填充列表,这是一个 Java9 功能,您可以使用任何其他方式填充它们。
populateTableModel() 方法负责检索已填充所有列名和行的 DefaultTableModel。
createTable() 方法将实际生成 table。