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