Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 文本编辑器的问题(运行时提示数组越界)
liyan5953





发贴: 5
积分: 0
于 2005-06-22 13:53 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
请使用准确的文字描述作为标题
Have you used a debugger to locate where 数组越界?



我在做一个文本编辑器是遇到一些问题,请高手指点一下
代码如下:

事件处理
package liyanpro;

import java.awt.event.*;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright Coffee 2005</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/

public class Context_C implements KeyListener {
int x,y;
Context_M context_m;
Context_V context_v;
char c;

public Context_C() {
}

public void init(Context_M m,Context_V v){
context_m=m;
context_v=v;
}

public void getxy(){
x=context_v.getX();
y=context_v.getY();
}

/**
* keyPressed
*
* @param e KeyEvent
*/
public void keyPressed(KeyEvent e) {
c=e.getKeyChar();
if(c!='\n'){
this.getxy();
if(x>80){
context_v.jTextArea1.append("\n");
this.getxy();
}
context_m.setchar(y,x,c);
}
}

/**
* keyReleased
*
* @param e KeyEvent
*/
public void keyReleased(KeyEvent e) {
}

/**
* keyTyped
*
* @param e KeyEvent
*/
public void keyTyped(KeyEvent e) {
}
}

数据处理
package liyanpro;

import java.util.*;

public class Context_M {
Vector rows;
char[] line = null;
static final int linelength = 80;

public Context_M() {
rows = new Vector();
creatLine();
}

public void creatLine(){
line = new char[linelength];
rows.add(line);
}

public void setchar(int row,int col,char c){
if(rows.size()-1<row){
this.creatLine();
}
line=(char[])rows.get(row);
line[col - 1] = c;
rows.set(row, line);
}
}
显示
package liyanpro;

import java.awt.*;
import javax.swing.*;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright Coffee 2005</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/

public class Context_V extends JPanel {
BorderLayout borderLayout1 = new BorderLayout();
JTextArea jTextArea1 = new JTextArea();
Context_C context_c;
Context_M context_m;
public Context_V() {
}

public void init(Context_C c,Context_M m) {
context_c=c;
context_m=m;
this.setLayout(borderLayout1);
jTextArea1.addKeyListener(context_c);
this.add(jTextArea1, BorderLayout.CENTER);
}
}

运行的时候提示我数组越界,那里不对,请高手指点一下,谢谢~~~


why edited on 2005-06-22 21:00


话题树型展开
人气 标题 作者 字数 发贴时间
3550 文本编辑器的问题(运行时提示数组越界) liyan5953 2427 2005-06-22 13:53

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923