2
當內容長於顯示區域時,我試圖使JTextField
顯示點。我想要有與JTable
類似的行爲,當我調整列的大小時,內部文本會發生變化 - 只顯示它的長度,然後顯示三個點(請參閱第一個示例從這link和改變列大小 - 我不能張貼圖像,因爲我在這裏是新的;))JTextField在內容太長時顯示'...'
是可能的嗎?只有我心目中溶液與一類,將有更多的領域oryginalText
並會那樣做延長JTextField
(沒有測試它,它只是一個建議,JtextField
的尺寸不會改變):
import javax.swing.JTextField;
public class MyTextField extends JTextField {
private String oryginalText;
private int length;
@Override
public void setText(String text) {
oryginalText = text;
if (oryginalText.length() > length)
super.setText(oryginalText.substring(0, length - 2) + "..");
else
super.setText(oryginalText);
}
}
有什麼想法?
實際上聽起來不太友好。這實際上是文本字段的非標準行爲。 – aioobe 2012-02-13 16:21:11
同意,但另請參見[*用省略號截斷字符串的理想方法*](http://stackoverflow.com/q/3597550/230513)。 – trashgod 2012-02-13 16:59:56
您看到的行爲是「JLabel」的行爲。如果你的文本是不可編輯的,考慮使用它來代替'JTextField' – Robin 2012-02-13 17:00:41