当前位置: 代码迷 >> J2SE >> java数组有关问题
  详细解决方案

java数组有关问题

热度:162   发布时间:2016-04-24 12:12:17.0
java数组问题
一下代码是用鼠标画线条,有一个缺点就是只能画10条
  请问用什么方法可以实现想怎么画都可以?
  (更改数组大小除外)
还有这个程序通过cmd来编译不了,但是通过Eclipse又可以编译运行出来!求原因
 
Java code
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class DrawLineTest extends JPanel {    static int i = 0;    int x1[] = new int[10];    int x2[] = new int[10];    int y1[] = new int[10];    int y2[] = new int[10];    public static void main(String[] args) {        JFrame frame = new JFrame();        Container container = frame.getContentPane();        DrawLine line = new DrawLine();        frame.add(line);        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.setVisible(true);        frame.setTitle("DrawLineTest");        frame.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);        frame.setLocation(200, 200);    }    public void paintComponent(Graphics g) {        super.paintComponent(g);        for (int i = 0; i < x1.length; i++) {            g.drawLine(x1[i], y1[i], x2[i], y2[i]);        }    }    public void DrawLine() {        addMouseListener(new MouseAdapter() {            public void mousePressed(MouseEvent event) {                x1[i] = event.getX();                y1[i] = event.getY();            }            public void mouseReleased(MouseEvent event) {                Graphics g = getGraphics();                g.setColor(Color.RED);                x2[i] = event.getX();                y2[i] = event.getY();                g.drawLine(x1[i], y1[i], x2[i], y2[i]);                i++;            }        });    }    public static final int DEFAULT_WIDTH = 250;    public static final int DEFAULT_HEIGHT = 250;}


------解决方案--------------------
单纯看你给出的代码,DrawLine这个类根本就没有定义,在eclipse里面怎么可以正常编译

你看看是不是没有给全代码?
------解决方案--------------------
DrawLine line = new DrawLine();
frame.add(line);
这两行是神马情况??
------解决方案--------------------
你看一下吧

Java code
import java.awt.Color;import java.awt.Graphics;import java.awt.HeadlessException;import java.awt.Point;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JFrame;public class Draw extends JFrame {    private Point oldP;    private Point newP;        public Draw() {                this.oldP = new Point(0,0);        this.newP = new Point(0,0);                this.setBounds(200,50,400,300);        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        this.addMouseListener(new MouseAdapter() {                        public void mousePressed(MouseEvent e) {                oldP = getMousePosition();            }            public void mouseReleased(MouseEvent e) {                newP = getMousePosition();                repaint();            }                    });                this.setVisible(true);    }        public void paint(Graphics g) {        Color c = g.getColor();        g.setColor(Color.red);        g.drawLine(oldP.x, oldP.y, newP.x, newP.y);        g.setColor(c);    }        public static void main(String[] args) {        new Draw();    }}
------解决方案--------------------
楼主的代码贴的好像不怎么全,不知道DrawLine line = new DrawLine();这个类是怎么实现的?
等待。。。。。。
------解决方案--------------------
4楼 正解!
------解决方案--------------------
cmd导入的jar包也要放进相应的路径
  相关解决方案