java - 如何将 arrayList 2D 添加到 Object[][] 已经存在?
问题描述
arrayList[][]
当我编码时,我发现了一些问题object[][]
脚步:
连接并从 MySQL 数据库中获取所有数据(这一步没问题)
arraylist[][]
以2D 形式添加所有数据将最后一个二维数组列表添加到
object[][]
但是我尝试了太多不起作用的代码。
public static Connection conn;
private JFrame frame;
private JTable table;
public static String arr2[][];
public static Object[][] arr;
public static Object[][] arr1;
public static ArrayList[][] table1 = new ArrayList[10][10];
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
messager window = new messager();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
table = new JTable(); //this table to show data from mysql
table.setBorder(new EtchedBorder(EtchedBorder.RAISED, null, null));
try {
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
conn =
DriverManager.getConnection("jdbc:mysql://==/test?useUnicode=true&characterEncoding=utf-8", "root", "root"); //connect to mysql
Statement m_Statement = conn.createStatement();
String query = "SELECT * FROM users"; //select all data from mysql
ResultSet m_ResultSet = m_Statement.executeQuery(query); //resultset
while (m_ResultSet.next()) { //while to show all data from mysql
//step 1 finished
//step 2 started
for (int i=0;i<3;i++) {
for (int j=0;j<3;j++) {
//here the problem how to convert all data to arraylist to add it on Object[][] (in step 3)
arr[i][j] = new String[][] {{m_ResultSet.getString(2),m_ResultSet.getString(3),m_ResultSet.getString(2)}};
table1[i][j].add(arr[i][j]);
}
}
}
table.setModel(new DefaultTableModel(
new Object[][] {
table1 //here add last array list to this Object[][] but not work },
new String[] {
"name", "message", "time"
}
) {
Class[] columnTypes = new Class[] {
String.class, String.class, String.class
};
public Class getColumnClass(int columnIndex) {
return columnTypes[columnIndex];
}
boolean[] columnEditables = new boolean[] {
false, false, false
};
public boolean isCellEditable(int row, int column) {
return columnEditables[column];
}
});
table.setFont(new Font("Tahoma", Font.PLAIN, 14));
table.setBounds(10, 38, 414, 212);
frame.getContentPane().add(table);
}catch (Exception e1) {
e1.printStackTrace();
}
}
有时我得到这个JTable
[Ljava.util.ArrayList;@6e93060b
,有时我得到这个错误消息:
at java.awt.event.InvocationEvent.dispatch(Unknown Source) at
java.awt.EventQueue.dispatchEventImpl(Unknown Source) at
java.awt.EventQueue.access$500(Unknown Source) at
java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown
Source) at java.security.AccessController.doPrivileged(Native Method) at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(
Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at
java.awt.EventDispatchThread.pumpEvents(Unknown Source) at
java.awt.EventDispatchThread.pumpEvents(Unknown Source) at
java.awt.EventDispatchThread.run(Unknown Source)
解决方案
推荐阅读
- java - 按下确定并关闭对话框时,保存对话框中单选按钮的状态
- haskell - 选择具有重叠定义的最正确的 FromJSON 实例
- java - 如何在 Java 中对动画进行排序?
- c# - 在 Azure 上打开注册页面时出现“502 - Web 服务器在充当网关或代理服务器时收到无效响应”错误
- amazon-web-services - 当用户尝试使用 AWS 注册和创建新账户/相册时,我们遇到了错误。请参阅下面的终端消息
- solidity - web3 - event.watch 以随机顺序吐出事件
- mysql - SQL:基于另外两列提取信息
- spring-integration - spring integration dsl配置幂等接收器识别重复
- python - keras中深度和广泛模型的问题
- java - 图形 2d 平移和旋转问题