标签: limit

如何限制 JTextArea 最大行数和列数?

我在 JScrollPane 中使用 JTextArea

我想限制可能的最大行数和每行中的最大字符数。

我需要字符串与屏幕上的完全一样,每一行都以 '\n' 结尾(如果后面还有另一行),并且用户将只能在每行中插入 X 行和 Y 字符。

我试图限制行,但由于换行,我不知道到底有多少行,换行是在屏幕上直观地开始新行(因为 JTextArea 的宽度),但在字符串中组件实际上是同一行,没有 '\n' 表示新行。我不知道如何在打字时限制每行中的最大字符数。

有2个阶段:

  1. 字符串的输入 - 保持用户将无法在每行中输入超过 X 行和 Y 个字符。(即使换行仅可视化或用户输入了“/n”)
  2. 将字符串插入到 DB- 单击“确定”后,即使用户没有输入它并且该行仅在视觉上被换行,也可以转换每行将以“/n”结尾的字符串。

如果我计算行中的字符数并在行尾插入 '/n' 几乎没有问题,这就是我决定分两个阶段进行的原因。在第一阶段 ehile 用户正在输入我宁愿只限制它的视觉和强制换行或类似的东西。只有在第二阶段,当我保存字符串时,我才会添加 '/n',即使用户没有在行尾输入它!

有没有人有想法?


我知道我将不得不使用 DocumentFilter 或 StyledDocument。

这是仅将行限制为 3 的示例代码:(但不将行中的字符限制为 19)

private JTextArea textArea ;
textArea  = new JTextArea(3,19);
textArea  .setLineWrap(true);
textArea .setDocument(new LimitedStyledDocument(3));
JScrollPane scrollPane  = new JScrollPane(textArea

public class LimitedStyledDocument extends DefaultStyledDocument

    /** Field maxCharacters */
    int maxLines;

    public LimitedStyledDocument(int maxLines) {
        maxCharacters = maxLines;
    } …
Run Code Online (Sandbox Code Playgroud)

java text lines limit jtextarea

6
推荐指数
1
解决办法
2万
查看次数

从排序列表的中间选择结果?

我有一个300行的简单表,在订购之后我想选择11-50行.我是否限制50并以某种方式删除前10行?

mysql sql limit

6
推荐指数
1
解决办法
2236
查看次数

PHP mail() 电子邮件大小限制

我只是想问,当我使用 PHPMailer 从带有许多附件的表单发送信息时,除非文件总数超过 7 MB,否则它会发送一切正常。

如您所见,服务器上的所有内容都设置正确:

memory_limit = 40M
post_max_size = 40M
upload_max_filesize = 40M
file_uploads = On
Run Code Online (Sandbox Code Playgroud)

我已阅读有关 PHP 邮件服务器限制的内容。我已将 PHPMailer 设置为使用 PHP mail() 函数发送消息。

还需要设置什么?问题出在哪里?代码本身真的没有任何限制,所以它必须在其他地方。

当邮件没有发送时,PHP 似乎没有报告任何错误,我只是从

if(!$mail->Send()) { } else
Run Code Online (Sandbox Code Playgroud)

我读到在某些电子邮件服务器上有 7 MB 的限制,这可能会受到托管的限制吗?谢谢你的帮助,我快绝望了。

我也在我们的测试 VPS 服务器上尝试过,它每次都发送邮件,当文件总数大于 7 MB 时,它只发送一些小于 7 MB 的文件。

limit phpmailer email-attachments

6
推荐指数
1
解决办法
1万
查看次数

PHP内爆不适用于大阵列?

我有一个包含30k项目的数组,而implode什么都不返回.没有错误信息,没有内存问题,什么都没有.

如果我使用array_slice并将数组切片为100个项目,它可以正常工作.它也适用于7k阵列,但不适用于此阵列.

但是,在另一个主题中我找到了这个代码,它运行得很好:

$arr = array();
for ($i = 0; $i < 50000; $i++) {
$arr[] = str_shuffle('This sentance is of average length, which The Internet says is  aboout 14.2 words.'); 
}
echo implode(PHP_EOL, $arr);
Run Code Online (Sandbox Code Playgroud)

但是使用PHP_EOL我不能在我的选择中使用它,字符串需要用','分隔.

所以我有两个问题:是否有任何方法可以使这项工作,我怎么能抓住这个错误?因为测试implode输出不起作用,is_null,strlen,is_string,empty,isset,所有这些测试都失败了.

php arrays limit implode

6
推荐指数
1
解决办法
769
查看次数

MySQL 几何限制(多边形字符串的最大长度)

多边形可以有多少点有限制吗?

我使用 shp2mysql-php ( http://sourceforge.net/projects/shp2mysql-php/ ) 导入国家的 SHP 形状数据。它工作正常,但我所有的多边形日期都被限制为最大长度......

MySQL 特殊设置:max_allowed_pa​​cket = 10GB

如何插入很长的多边形字符串?

mysql geometry limit shapefile

6
推荐指数
0
解决办法
784
查看次数

json.encoder.FLOAT_REPR 改变但没有效果

我试图让我的 JSON 编码器转储浮点数只有 2 个十进制精度。所以'2.241'变成'2.24'

我在Alex Martelli 的这个答案中读到,您可以覆盖 json.encoder 的默认 FLOAT_REPR。我尝试了以下方法:

>>> import json
>>> json.encoder.FLOAT_REPR = lambda o: format(o, '.2f')
Run Code Online (Sandbox Code Playgroud)

但我没有得到相同的结果:

>>> json.dumps(2.241)
'2.241'
Run Code Online (Sandbox Code Playgroud)

我什至可以验证 FLOAT_REPR 是否已更改:

>>> print json.encoder.FLOAT_REPR
<function <lambda> at 0xb....>
Run Code Online (Sandbox Code Playgroud)

并按预期工作:

>>> json.encoder.FLOAT_REPR(2.241)
2.24
Run Code Online (Sandbox Code Playgroud)

为什么内置 JSON 模块不使用 FLOAT_REPR 当我看到它已被覆盖并且解决方案应该根据 Alex Martelli 工作?

我已经在两台不同的计算机上对此进行了测试,它们都在 Ubuntu 14.0.4 上运行 Python 2.7.6。

python precision limit

6
推荐指数
1
解决办法
2483
查看次数

自定义 CouchDB _id 字段有哪些限制?

我将在CouchDB 2.1_id中实现我自己独特的字段生成算法,我想弄清楚我的限制有多大。我发现的唯一参考资料是:_id

\n\n
\n

_id(字符串)\xe2\x80\x93 文档 ID

\n
\n\n

我可以使用任意长的 ASCII 符号文本作为 吗_id?允许使用哪些字符?

\n

couchdb limit couchdb-2.0

6
推荐指数
0
解决办法
483
查看次数

在 MacOS 上增加传出 TCP 连接的限制

问题的简短版本是:How to tune\configure macOS (Mojave 10.14.3) settings to allow more than 10k out of TCP connections and more then 16k connection between all each process.

详细信息:
我正在尝试使 MacBookPro(16Gb RAM,Core i7)可用于压力测试 tcp 服务器。服务器本身托管在单独的 pc 上,所以现在的问题仅与传出连接有关。

以下建议已经处理并帮助我显着增加了初始操作系统限制。
1)我使用[launchctl](在Mac上执行gatling时“打开的文件太多”)将maxfiles限制增加到100万。
2)我使用sysctl来设置\检查 kern.maxfiles 限制。实际上(据我所知)这与#1 相同。
3)我玩过ulimit。实际上我没有注意到这个工具对我的操作系统有任何影响。但无论如何...

所以现在我的 MacOS 可以为每个进程建立大约 10k 个连接,系统中的总连接数为 16k。

为简单起见,我的工具只是在无限循环中打开 TCP 连接并等待。

try
{
  while (true)
  {
    CreateAndConnectSocket(); //add socket to list
    ++connectedSockets;
  }
}
catch(Exception e)
{
  LogWrite("Connected sockets:" + connectedSockets);
  LogWrite(e);
  WaitForAnyKey(); …
Run Code Online (Sandbox Code Playgroud)

sockets macos configuration tcp limit

6
推荐指数
1
解决办法
1483
查看次数

如何在 GitLab 上上传大于 10MB 的文件?

我正在使用 GitLab 和 DocBook 开展一个大学项目,并且刚刚完成了 PDF 的最终版本。问题是有文件限制(最大 10MB),我不知道如何使用 GitLab 的浏览器版本访问限制设置。

我很想更改我的存储库的文件大小限制,因为据我所知,可以上传大文件,您只需在某处以某种方式更改限制即可。

limit gitlab

6
推荐指数
1
解决办法
2万
查看次数

如何确定 Docker 容器内受限 CPU 的数量?与 make -j 一起使用

Docker 支持一个--cpus选项,限制容器使用一定比例的主机计算资源。例如,--cpus 2.5将分配相当于主机CPU能力大约两倍半的计算资源。这种分配似乎有点“逻辑”而不是物理,因为容器运行八个进程,但往往--cpus 1.0在单独的 CPU 上运行每个进程,但限制在大约 12.5%。我想这很好。

问题是我无法找到一种方法让受限容器内的进程确定它有多少个可用的等效 CPU。例如,这对于构建过程特别有用,make -j <n>但是什么是n?无论选项值如何,常用​​的nproc输出都是主机上的 CPU 数量--cpus,这使得它不适合,因为它太大了。的值/proc/cpuinfo也是主机的视图(与 相同nproc)。

有没有办法让包含的进程确定可用的 CPU 数量?

举个例子,在我的 16 核主机上,我想仅使用docker run ... --cpus 4.0 ...make -j <something>运行4 个进程,而不是 16 个进程。

FWIW,我将 Docker Executor 与 GitLab-CI 和 一起使用gitlab-runner,这就是为什么--cpuset-cpus=没有真正帮助的原因。执行器应该能够为每个作业在所有主机的 CPU 上分配一定数量的 CPU,而不是特定的子集。虽然我可以为每个显式的四个 CPU 集创建单独的执行程序,但我不知道有什么明显的方法可以将gitlab-runner这些执行程序以平衡的方式分配给传入的作业,而且我想避免将责任推到作业本身上,也许使用标签来选择执行器,因为这需要每个作业对运行器了解太多。

我确实考虑过像NUM_CPUS=4中那样设置相应的环境变量,以便构建作业可以找出要使用的环境变量,但是只能为所有跑步者设置变量,而不是单个跑步者:gitlab-runnerconfig.tomlmake …

environment limit docker gitlab-ci-runner

6
推荐指数
0
解决办法
489
查看次数