![](/img/trans.png)
[英]JTextField : How to set text on the left of JTextField when text too long
[英]JTextField show '…' when content is too long
我正在嘗試使JTextField
在其內容長於顯示區域時顯示點。 我希望具有與JTable
相同的行為,當我調整列的大小時,內部文本會發生變化-當其顯示為long時,僅顯示它的開頭,然后顯示三個點(要查看我的想法,請運行第一個示例通過此鏈接並更改列大小-因為我是新來的,所以我不能發布圖像;))
有可能嗎? 我想到的唯一解決方案是使用一個類擴展JTextField
,該類將具有其他字段oryginalText
並具有類似的行為(不進行測試,這只是一個建議, 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);
}
}
有任何想法嗎?
在擴展JTextField並存儲原始(未修剪)值的想法上:
將文本字段顯示為禁用(或不可編輯)並帶有修剪的文本。 當用戶選擇文本字段時,將其啟用/可編輯並顯示整個原始文本。
然后,當用戶按下Enter鍵或焦點退出文本字段時,再次:禁用/不可編輯和修剪的文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.