代码如下:
//导入相应的包
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
public class Show_result extends JFrame{
//创建容器
JPanel jp=new JPanel(new BorderLayout());
//创建滚动条
JScrollPane jsp=new JScrollPane();
//创建表格
JTable jt=new JTable();
//创建列表样式
DefaultTableModel dtm=new DefaultTableModel();
//有参构造方法
public Show_result(String s,String t){
super();
this.setTitle("Show_reslut");
this.setVisible(true);
this.setLocationRelativeTo(this);
this.setSize(800,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
jp.setBorder(new EmptyBorder(5,5,5,5));
jsp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
jsp.setViewportView(jt);
jp.add(jsp,BorderLayout.CENTER);
//设置列索引
int max_col=s.length()>t.length()?s.length():t.length();
String[] s_col=new String[max_col];
for(int i=1;i<=max_col;i++){
s_col[i-1]=i+"";
}
dtm.setColumnIdentifiers(s_col);
dtm.setColumnCount(max_col);
//设置行索引
dtm.setNumRows(2);
//填充元素
for(int i=0;i
dtm.setValueAt(s.charAt(i), 0, i);
}
for(int i=0;i
dtm.setValueAt(t.charAt(i), 1, i);
}
jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jt.setModel(dtm);
//设置单元格宽度
for(int i=0;i
TableColumn tc=jt.getColumnModel().getColumn(i);
tc.setPreferredWidth(30);
tc.setMaxWidth(30);
tc.setMinWidth(30);
}
//设置单元格背景色
for(int i=1;i<=s_col.length;i++){
if(dtm.getValueAt(0, i-1)=="-"&&dtm.getValueAt(1, i-1)=="-"){
DefaultTableCellRenderer dtcr=new DefaultTableCellRenderer();
TableColumn tc=jt.getColumn(i+"");
dtcr.setBackground(Color.red);
tc.setCellRenderer(dtcr);
}
if(dtm.getValueAt(0, i-1)!="-"||dtm.getValueAt(1, i-1)!="-"){
if(dtm.getValueAt(0, i-1)==dtm.getValueAt(1, i-1)){
DefaultTableCellRenderer dtcr=new DefaultTableCellRenderer();
TableColumn tc=jt.getColumn(i+"");
dtcr.setBackground(Color.green);
tc.setCellRenderer(dtcr);
}else{
DefaultTableCellRenderer dtcr=new DefaultTableCellRenderer();
TableColumn tc=jt.getColumn(i+"");
dtcr.setBackground(Color.yellow);
tc.setCellRenderer(dtcr);
}
}
}
this.setContentPane(jp);
}
}