我有一个PlainDocument,它根据字符串的像素宽度限制单行文本的长度,以大写Ws(我字体中最宽的字符)度量:
public class StandardDocument extends PlainDocument {
/****** VARIABLES **********************************************/
public boolean upperCase = true;
private int textLimit;
private int textWidth;
private int fieldWidth;
private JTextField textField = new JTextField();
/** Get the maximum width of this text field, measured in capital Ws.
* @return textWidth - int
**/
public int getTextWidth() {
return textWidth;
}
/** Get the maximum width of this text field, measured in pixels.
* @return textWidth - int
**/
protected int getFieldWidth() {
return fieldWidth;
}
/** Core method for inserting value provided by user after "cleaning" user's value automatically. **/
public void insertString(int offs, String str, AttributeSet attr) throws BadLocationException {
if (str == null) { return; }
// Set field value when value is within character limit of field.
if (textWidth > 0) {
int attemptedWidth = textField.getFontMetrics(Constants.defaultFontLabels).stringWidth(getText(0, getLength()) + str);
if (attemptedWidth > fieldWidth) {
return;
}
}
// Set value in field.
super.insertString(offs, str, attr);
}
/** Set the maximum text width as a maximum number of capital Ws this field may hold. **/
public void setTextWidth(int wLimit) {
if (wLimit >= 0) {
textWidth = wLimit;
StringBuffer outputBuffer = new StringBuffer(wLimit);
for (int i = 0; i < wLimit; i++){
outputBuffer.append("W");
}
fieldWidth = textField.getFontMetrics(Constants.defaultFontLabels).stringWidth(outputBuffer.toString());
}
}
}
JTextArea支持包装。您可以使用以下方式打开它:
textArea.setLineWrap( true );
textArea.setWrapStyleWord( true );
行计数会稍微困难一些,因为在文档更新之前,您不知道新添加的文本是否会导致行换行。
因此,您可能需要一个交叉编辑,可以在单击“打印”按钮时调用该编辑。也许您可以使用Text Utilities类中的getWrappedLines(...)
方法。如果换行线大于最大值,则阻止打印。
必须使用可变宽度字体(因为它看起来很漂亮)。 必须以特定字符宽度换行文本(以匹配文本UI) 一个简单的连击实现,是吗?修改UI以提供我自己版本的包装视图(它继承自WrappedPlainView),并重写calculateBreakPosition()以提供我想要的包装行为。 只是看起来不那么简单。正在忽略由可变呈现宽度派生的问题...我发现calculateBreakPosition()没有被调
问题内容: 我正在寻找一种方法来限制php中的字符串,并在字符串过长时在末尾添加…。 问题答案: 您可以使用类似于以下内容的东西:
本文向大家介绍jQuery 限制输入字符串长度,包括了jQuery 限制输入字符串长度的使用技巧和注意事项,需要的朋友参考一下 我们后台做程序的时候,比如录入一篇文章,文章会有摘要,我们希望文章的字符长度是我们可以控制的,我们不希望它太长,比如限制只能输入250个字符,下面的代码实现了这种功能。 先来看一下效果图 代码如下: 以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持呐喊教程
问题内容: 我刚刚开始学习我的第一种真正的编程语言Python。我想知道如何将用户输入限制为特定字符和特定长度。例如,如果用户输入的字符串包含除字母以外的任何内容,我想显示一条错误消息,并且我想显示其中一个用户输入的字符超过15个。 第一个似乎是我可以使用正则表达式做的事情,由于我已经在Java语言中使用过它们,所以我对此有所了解,但是我不确定如何在Python中使用它们。第二个,我不确定该如何处
我假设这不是正确的格式。有人知道我如何在java中正确地做到这一点吗?
问题内容: 我有以下几点: 有没有一种方法可以将字符串的长度限制为20个字符? 还有一个更好的问题是,如果超过20个字符,有没有办法我可以将字符串更改为截断并显示在末尾? 问题答案: 编辑 最新版本的报价过滤器。 您需要这样的 自定义过滤器 : 用法: 选项: 逐字(布尔)-如果为true,则仅按字数限制切入, max(整数)-文本的最大长度,切成此字符数, tail(字符串,默认值:“…”)-如