有没有办法将JTable的列标题旋转90°?
发布于 2010-06-28 05:11:30
也许这会有帮助,不过我还没有测试过:
class RotatedTableCellRenderer extends JLabel implements TableCellRenderer {
protected int m_degreesRotation = -90;
public RotatedTableCellRenderer(int degrees) {
m_degreesRotation = degrees;
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
try {
this.setText(value.toString());
} catch(NullPointerException ne) {
this.setText("Nullvalue");
}
return this;
}
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g2.setClip(0,0,500,500);
g2.setColor(new Color(60,179,113));
g2.setFont(new Font("Arial",Font.BOLD,12));
AffineTransform at = new AffineTransform();
at.setToTranslation(this.getWidth(), this.getHeight());
g2.transform(at);
double radianAngle = ( ((double)m_degreesRotation) / ((double)180) ) * Math.PI;
at.setToRotation(radianAngle);
g2.transform(at);
g2.drawString(this.getText(), 0.0f, 0.0f);
}
} 这不是我自己的,取自here
https://stackoverflow.com/questions/3128883
复制相似问题