双击JTextArea如何实现自动滚屏功能?
请各位帮兄弟一把!谢谢。 问题点数:50、回复次数:5Top
1 楼chinaredflag(chinaredflag)回复于 2002-10-07 20:06:29 得分 5
用JScrollPane装它,然后,jTextArea.setLineWrap(true);
it is easy!
Top
2 楼Wanting(DSV)回复于 2002-10-07 20:42:57 得分 10
linewrap是自动换行吧……
自动滚动,还是设置listener来做吧。Top
3 楼chinaredflag(chinaredflag)回复于 2002-10-07 20:47:08 得分 0
no, 如果你要自动滚屏,当然要能自动换行。不然,一行是没头的,你还要滚屏干嘛?Top
4 楼lord_logic(无名)回复于 2002-10-08 14:59:01 得分 30
<SCRIPT LANGUAGE="javascript"><!--
var currentpos,timer;
function initialize()
{
timer=setInterval('scrollwindow()',10);
}
function sc(){
clearInterval(timer);
}
function scrollwindow()
{
currentpos=document.body.scrollTop;
window.scroll(0,++currentpos);
if (currentpos != document.body.scrollTop)
sc();
}
document.onmousedown=sc
document.ondblclick=initialize
function GetIEVersion()
{
try
{
if(!window.clientInformation)return false;
if(window.clientInformation.appName.toLowerCase()!="microsoft internet explorer")return false;
if(window.clientInformation.appVersion.toLowerCase().indexOf("msie")==-1)return false;
var a=window.clientInformation.appVersion.toLowerCase().split(";");
for(var i=0;i<a.length;i++)
{
a[i]=a[i].replace(" ","");
if(a[i].indexOf("msie")==0)
{
var version=a[i].substr(4,a[i].indexOf(".")-2);
return version;
}
}
}
catch(exception)
{
}
return false;
}
function Init(){
if(GetIEVersion()<5.5)
{
if(typeof(tacontent.length)=="number"&&tacontent.length>1)
for(var i=0;i<tacontent.length;i++)
handleElement(tacontent[i]);
else
handleElement(tacontent);
}
}
function handleElement(element)
{
Handle();
function Handle()
{
var TimerID=0;
var height=element.scrollHeight;
if(height<10)//element.scrollHeight没有初始化
{
TimerID=setTimeout(Handle,1000);
return;
}
element.runtimeStyle.height=(height+10)+"px";
}
}
//--></SCRIPT>
Top
5 楼Wanting(DSV)回复于 2002-10-08 15:25:32 得分 5
不自动换行就一定是一行了么?
文本中间不可以插入\n或\r啊?
Top




