0
最近我有一個JTable中的一列的小問題:因爲我編輯它的DefaultTableCellRenderer密碼列不聚焦,當我在表中集中一行。 Here's a screenshot了我的代碼:JTable cloumn沒有得到專注
inputsTable.getColumn("Passwort").setCellRenderer(new DefaultTableCellRenderer(){
private final String ASTERISKS = "*";
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
int length =0;
if (value instanceof String) {
length = ((String) value).length();
} else if (value instanceof char[]) {
length = ((char[])value).length;
}
setText(asterisks(length));
return this;
}
private String asterisks(int length) {
if (length > ASTERISKS.length()) {
StringBuilder sb = new StringBuilder(length);
for (int i = 0; i < length; i++) {
sb.append('*');
}
return sb.toString();
} else {
return ASTERISKS.substring(0, length);
}
}
});
我已經嘗試了一些不同的選擇,但他們並沒有幫助我,很遺憾。你們中的任何一個人最終都會有線索嗎,在沒有這個問題的情況下,是否可以在JTable中更好地實現密碼列?提前致謝!
噢謝謝你,我會記住的! –