解决方案 »
- 一个java文件中有2个从JFrame继承来的类,其中一个在另一个中new出对象作为参数给第二个用,运行结果为什么会只出现一个JFrame窗口?
- 求助各位大哥,大姐:这个程序有问题吗?这是thinking in Java书上的源程序呀!!
- 这个问题我不会
- UTF-8文档怎么处理字符“&”
- 想学JAVA!各位大师!说说看!
- 帮忙看看这个程序怎么了?解决立即给分~~~~~~
- 求大神帮忙,谢谢啦!
- 如何把GBK编码的串变为UNICODE串?(内详)
- ★★★HELP! 有关HelloApplet的小问题! ★★★在线等待!!!
- Jbuild5.0中,如何设置类路径;
- Socket文件夹传送
- 求高人!java二维数组打印的问题
import java.awt.Color;
import java.awt.Component;
import java.awt.FlowLayout;import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;public class TableTest extends JFrame { private static final long serialVersionUID = 935242953629005162L;
private JTable table = null; public TableTest() {
setLayout(new BorderLayout());
table = new JTable(new DefaultTableModel(20, 4) { private static final long serialVersionUID = 4248093736568819249L; public Object getValueAt(int rowIndex, int columnIndex) {
return rowIndex + ":" + columnIndex;
}
});
for (int i = 0; i < table.getColumnCount(); i++)
table.getColumnModel().getColumn(i).setCellRenderer(
new MyTableCellRenderer());
this.add(table, BorderLayout.CENTER);
} private class MyTableCellRenderer implements TableCellRenderer { public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0));
String data = value.toString();
JLabel label1 = new JLabel(data.substring(0, data.length() - 1));
label1.setForeground(Color.black);
JLabel label2 = new JLabel(data.substring(data.length() - 1));
label2.setForeground(Color.white);
label2.setBackground(Color.black);
label2.setOpaque(true);
panel.add(label1);
panel.add(label2);
if(row % 2 == 0)
panel.setBackground(Color.yellow);
else
panel.setBackground(Color.green);
return panel;
} } public static void main(String[] args) {
JFrame frame = new TableTest();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setResizable(false);
frame.setVisible(true);
}
}