public void initJTable() { String []colNames= {"编号", "教室编号","状态","借阅时间","归还时间"}; String [][]tableValues={}; tableModel=new DefaultTableModel(tableValues,colNames); table=new JTable(tableModel); table.setSelectionBackground(Color.YELLOW); table.setSelectionForeground(Color.RED); table.setRowHeight(30); }
时间: 2024-03-28 12:40:17 浏览: 54
这个方法是用来初始化一个`JTable`表格的。
首先定义了一个字符串数组`colNames`,用来表示表格的列名。数组中的元素按照顺序分别表示表格的第1列、第2列、第3列、第4列和第5列的列名。
然后定义了一个二维字符串数组`tableValues`,用来表示表格的数据模型。由于此时还没有数据,因此该数组为空。
接着创建了一个`DefaultTableModel`对象`tableModel`,该对象用来表示表格数据模型。构造方法的第一个参数是表格数据,此处为空数组`tableValues`,第二个参数是表格的列名,即字符串数组`colNames`。
然后使用`tableModel`对象创建了一个`JTable`表格对象`table`,将`tableModel`对象作为参数传入构造方法。
最后设置了表格的一些样式属性,包括选中行的背景色和前景色,以及行高。
相关问题
public String chaBookname(int id) throws Exception{ Connection con=DbUtil.getConnection(); Statement stm=con.createStatement(); String sql="select * from book where id='"+id+"'"; ResultSet rs=DataB.query(sql, stm); if(rs.next()) { return rs.getString("book_name"); } return null; } public void initJTable() { String []colNames= {"编号", "教室编号","状态","借阅时间","归还时间"}; String [][]tableValues={}; tableModel=new DefaultTableModel(tableValues,colNames); table=new JTable(tableModel); table.setSelectionBackground(Color.YELLOW); table.setSelectionForeground(Color.RED); table.setRowHeight(30); } }
这段代码还是没有任何注释,不过我可以为您解释一下这两个方法的功能和实现思路。
第一个方法名为`chaBookname`,是一个查询数据库的方法。它接收一个`int`类型的参数`id`,表示要查询的书籍的编号。该方法通过调用`DbUtil.getConnection()`方法获取一个数据库连接,然后使用该连接创建一个`Statement`对象,执行一条SQL查询语句,查询`book`表中`id`等于传入参数`id`的书籍记录。查询结果通过调用`DataB.query()`方法获取,如果查询结果不为空,通过调用`ResultSet`对象的`getString()`方法获取该书籍记录中的`book_name`字段值,并返回该字段值;否则返回`null`。
第二个方法名为`initJTable`,是一个初始化`JTable`控件的方法。该方法首先定义了两个数组变量`colNames`和`tableValues`,分别表示表头和表格数据模型。然后使用这两个数组变量创建一个`DefaultTableModel`对象,该对象表示表格的数据模型。接着使用该数据模型创建一个`JTable`对象,并设置表格的一些样式属性,如选中行的背景色和前景色,行高等。
OthInfo(index=8, colName=PLMN, columnValue=null, indexs=null, colNames=null, colValues=null, lessLength=null, sourceClomnLength=null)转为对象
这个看起来像是一个自定义的Java类的toString()方法的输出结果,如果想要将其转换为Java对象,需要根据类的定义来进行解析。
假设OthInfo类的定义如下:
```java
public class OthInfo {
private int index;
private String colName;
private String columnValue;
private List<Integer> indexs;
private List<String> colNames;
private List<String> colValues;
private Integer lessLength;
private Integer sourceClomnLength;
// 构造函数、getter和setter方法等
// ...
@Override
public String toString() {
return "OthInfo(index=" + index + ", colName=" + colName + ", columnValue=" + columnValue
+ ", indexs=" + indexs + ", colNames=" + colNames + ", colValues=" + colValues
+ ", lessLength=" + lessLength + ", sourceClomnLength=" + sourceClomnLength + ")";
}
}
```
那么,我们可以编写一个工具方法,将上述字符串转换为OthInfo对象,示例代码如下:
```java
public static OthInfo parseOthInfo(String str) {
OthInfo othInfo = new OthInfo();
String[] fields = str.replace("OthInfo(", "").replace(")", "").split(", ");
othInfo.setIndex(Integer.parseInt(fields[0].split("=")[1]));
othInfo.setColName(fields[1].split("=")[1]);
othInfo.setColumnValue(fields[2].split("=")[1]);
if (!"null".equals(fields[3].split("=")[1])) {
List<Integer> indexs = new ArrayList<>();
String[] indexArr = fields[3].split("=")[1].split(",");
for (String indexStr : indexArr) {
indexs.add(Integer.parseInt(indexStr));
}
othInfo.setIndexs(indexs);
}
if (!"null".equals(fields[4].split("=")[1])) {
List<String> colNames = Arrays.asList(fields[4].split("=")[1].split(","));
othInfo.setColNames(colNames);
}
if (!"null".equals(fields[5].split("=")[1])) {
List<String> colValues = Arrays.asList(fields[5].split("=")[1].split(","));
othInfo.setColValues(colValues);
}
if (!"null".equals(fields[6].split("=")[1])) {
othInfo.setLessLength(Integer.parseInt(fields[6].split("=")[1]));
}
if (!"null".equals(fields[7].split("=")[1])) {
othInfo.setSourceClomnLength(Integer.parseInt(fields[7].split("=")[1]));
}
return othInfo;
}
```
调用示例:
```java
String str = "OthInfo(index=8, colName=PLMN, columnValue=null, indexs=null, colNames=null, colValues=null, lessLength=null, sourceClomnLength=null)";
OthInfo othInfo = parseOthInfo(str);
System.out.println(othInfo.getIndex()); // 输出 8
System.out.println(othInfo.getColName()); // 输出 PLMN
System.out.println(othInfo.getColumnValue()); // 输出 null
// ...
```
需要注意的是,这里只是一个简单的示例,如果输入的字符串格式不正确,或者字段值包含了非法字符,还需要加入更多的异常处理逻辑。