|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。显现做游戏的时分,出格是在一些对话对照多的情形下,如RPG游戏,经常碰到笔墨的断行显现成绩
怎样做到不论怎样变更笔墨,都可以对照好地显现呢,上面有一个函数能够对笔墨举行分行,然后就能够一行行地打印了
第四个参数次要是对像英语如许多个字母构成一个单词的言语而设置的,由于像英语你不克不及把一个单词一分为二成两行的,能够传进一些分词的标记,如空格、标点标记甚么的,如“,.?!”
中文没有干系
可是日文我也闹不年夜分明,不晓得它是怎样分词的,是和中文一样,仍是和英文一样
/**@todo对一段笔墨举行分行,这类分行是针关于某个字体的
*@authorefei
*@paramstrSourceString待分行的字符串
*@paramfontFont利用的字体
*@paramwidthint分行后必要满意的宽度
*@paramstrSplitString断词判别字符,如空格和一些标点标记。中文不必要断词,则传空字符串
*@returnVector
*/
publicVectorgetSubsection(StringstrSource,Fontfont
,intwidth,StringstrSplit){
Vectorvector=newVector();
Stringtemp=strSource;
inti,j;
intLastLength=1;
intstep=0;
try{
while(!temp.equals("")){
i=temp.indexOf("
");
if(i>0){
if(font.stringWidth(temp.substring(0,i-1))>=width){
i=-1;
}
}
if(i==-1){
if(LastLength>temp.length()){
i=temp.length();
}else{
i=LastLength;
step=font.stringWidth(temp.substring(0,i))>width?-1:1;
//失掉临界点
if(i<temp.length()){
while(!(font.stringWidth(temp.substring(0,i))<=width
&&font.stringWidth(temp.substring(0,i+1))>width)){
i=i+step;
if(i==temp.length())
break;
}
}
}
//断词,假如必要的话
if(!strSplit.equals("")){
j=i;//把初始值纪录上去,是由于有大概呈现一种情形,这类情形就是这一行只要这么一个单词,会一向搜刮到头
if(i<temp.length()){
while(strSplit.indexOf(temp.substring(i-1,i))==-1){
i--;
if(i==0){
i=j;//恢复
break;
}
}
}
}
}
LastLength=i;
vector.addElement(temp.substring(0,i));
if(i==temp.length()){
temp="";
}
else{
temp=temp.substring(i);
if(temp.substring(0,1).equals("
")){
temp=temp.substring(1);
}
}
}
}catch(Exceptione)
{
System.out.println("getSubsection:"+e);
}
returnvector;
}
利用示例:
intgintLineHeight=15;//全局变量,行高
intgintBeginIndex=0;//全局变量,在keyPressed里改动它的值,即可以完成高低翻页
Stringstr="便利起见,能够界说一个行高着为全局变量,如许对照好,写个复杂的例子:"
Vectorvector=getSubsection(str,Font.getDefaultFont(),getWidth(),"");
for(inti=gintBeginIndex;i<vector.size();i++){
g.drawString((String)vector.elementAt(i),0,gintLineHeight*i,0);
if((i-mintBeginIndex+1)*gintLineHeight>getHeight())break;
}
vector=null;
首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。 |
|