java写的文本编辑器怎么实现首字母自动大写啊,求这个功能的代码
3个回答
2013-11-28
展开全部
外部有个boolean(frist)变量初始true,仅实现顺序输入textarea.addTextListener(new TextListener(){
@Override
public void textValueChanged(TextEvent e) {
// TODO Auto-generated method stub
int i = textarea.getCaretPosition();
char[] sc = textarea.getText().substring(i-1, i).toCharArray();
if(frist|sc[0]==32){
frist = true;
}
if(frist){
char[] c = textarea.getText().substring(i-1,i).toCharArray();
if(c[0]>96&&c[0]<123){
c[0]-=32;
textarea.setText(textarea.getText().substring(0, i-1)+c[0]);
frist=false;
textarea.setCaretPosition(textarea.getText().length());
} } } });
@Override
public void textValueChanged(TextEvent e) {
// TODO Auto-generated method stub
int i = textarea.getCaretPosition();
char[] sc = textarea.getText().substring(i-1, i).toCharArray();
if(frist|sc[0]==32){
frist = true;
}
if(frist){
char[] c = textarea.getText().substring(i-1,i).toCharArray();
if(c[0]>96&&c[0]<123){
c[0]-=32;
textarea.setText(textarea.getText().substring(0, i-1)+c[0]);
frist=false;
textarea.setCaretPosition(textarea.getText().length());
} } } });
2013-11-28
展开全部
给你一个思路: 如果是段首字符大写,检测字符前是否有\n,当然要过滤空格和制表符\t. 当然,检测之前字符会比较麻烦,通常解是用标志,如果输入\n就flag=1,根据标志确认是否大写. 如果还要句首,检查英文句号甚至是中文句话. 别的没了..代码就不给了.加油~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-28
展开全部
String str="hello";
str =str.replaceFirst(str.substring(0, 1),str.substring(0, 1).toUpperCase()) ;
str =str.replaceFirst(str.substring(0, 1),str.substring(0, 1).toUpperCase()) ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询