java - 如何从多个 ArrayList 中创建 JTable?
问题描述
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 还很陌生,想了解如何创建一个表格,其中 someStringX 的元素显示在列中,x 显示在控制台上的行中,这样:
一些字符串X | X 的值 |
---|---|
一些字符串X | x1 |
一些字符串X2 | x2 |
一些字符串X3 | x3 |
一些字符串X4 | x4 |
... | ... |
示例:mediaCompany = [Facebook、谷歌、Twitter]
排名 = [4, 7, 2]
媒体公司 | 秩 |
---|---|
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”来填充列表,这是 Java 9 的一项功能,您可以通过任何其他方式填充它们。
populateTableModel() 方法负责检索已填充所有列名和行的 DefaultTableModel。
createTable() 方法将实际生成表。
推荐阅读
- java - 创建一个简单的 Java 规则引擎
- javascript - 如何相对于映射的 div 放置组件?反应 Redux CSS
- ascii - \033[ 中的控制序列列表(用于 urxvt 键符)
- batch-file - 将错误级别与字符进行比较时批处理文件退出
- python - 如何将 5D 张量输入 LSTM?
- java - 如何使用 jsoup 获取 html 类型的 url
- scala.js - 在 Scala.js 外观中,为什么 @js.native 注释排除了 @JSExport 注释?
- ruby - 如何解析字符串以使对象适合插入 ARGV?
- libtool - libtool 包含错误的路径
- excel - 如何查找单元格是否包含特定文本然后从该单元格中删除/删除它的公式