<script language="javascript">
<![CDATA[
importPackage(javax.swing);
importPackage(java.lang);
System.out.println("Hello from JavaScript!");
var optionPane = JOptionPane.showMessageDialog(null,'Deployment instruction = ' + Deployment_Instrution);
]]>
</script>
这里Deployment_Instruction
是变量,我在其中存储sql select query的输出。 sql select查询长度的输出太大,所以JOptionpane消息框的大小也越来越大。为此我想打破消息框中的大行。
我怎么能这样做。请尽快帮助我。
提前谢谢....
答案 0 :(得分:1)
我想你必须在适当的地方插入换行符来打破这一行。对于像这样的简单应用程序,可能只需要一个基本函数,一旦一行达到你想要的最大长度就会打破空格。
类似的东西:
var boxText = wrapLines( 30, Deployment_Instruction );
JOptionPane.showMessageDialog( null, boxText );
此处最大长度为30个字符。使用wrapLines函数:
function wrapLines(max, text)
{
max--;
text = "" + text;
var newText = "";
var lineLength = 0;
for (var i = 0; i < text.length; i++)
{
var c = text.substring(i, i+1);
if (c == '\n')
{
newText += c;
lineLength = 1;
}
else if (c == ' ' && lineLength >= max)
{
newText += '\n';
lineLength = 1;
}
else
{
newText += c;
lineLength++;
}
}
return (newText);
}
请注意,这会产生一个“参差不齐”的右边缘,所以如果一行的末尾有一个很长的单词,则可能不太令人满意。
顺便提一下,您的变量名称缺少字母'c' - 指示。