<div>일단 프로그램은 직선을 그리는 그림판 입니다.</div> <div><br /></div> <div>목표는 이러한 그린 그림을 파일로 저장하고, 다시 불러오기 기능을 추가하는 건데요.</div> <div><br /></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>private class Line implements Serializable {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>public Point p1, p2;</div> <div><br /></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>Line(int x1, int y1, int x2, int y2) {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>p1 = new Point(x1, y1);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>p2 = new Point(x2, y2);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div><br /></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>public String toString() {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>return p1 + "," + p2;</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div>// Line 클래스의 정의입니다. 두점을 받지요 ㅠㅠ</div> <div> <div>public void mouseReleased(MouseEvent e) {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>Line l = new Line(rx, ry, rx2, ry2);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>lines.add(l);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span><span style="font-size: 9pt; line-height: 1.5">}</span></div></div> <div><span style="font-size: 9pt; line-height: 1.5">//마우스 드래그를 풀었을때, 시작 좌표하고, 끝좌표를 받아서 lines 라는 ArrayList에 저장하여, 그렸던 직선을</span></div> <div><span style="font-size: 9pt; line-height: 1.5">다음 그릴때도 유지하도록 합니다. ㅠ</span></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div> <div>public void actionPerformed(ActionEvent e) {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>if (e.getSource() == b) {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>clear();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>} else if (e.getSource() == b1) {</div> <div><br /></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>try {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>String a = t.getText();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>FileOutputStream f = new FileOutputStream(a);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>ObjectOutputStream of = new ObjectOutputStream(f);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span><b><font color="#ff0000">Line l = new Line(rx, ry, rx2, ry2);</font></b></div> <div><b><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>lines.add(l);</font></b></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>of.writeObject(lines);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>of.close();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>} catch (IOException e1) {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println(e1.getMessage());</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div><br /></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>} else if (e.getSource() == b2) {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>int retval = fileChooser.showOpenDialog(CenterPanel.this);</div> <div><br /></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>if (retval == JFileChooser.APPROVE_OPTION) {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>File file = fileChooser.getSelectedFile();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>try {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>FileInputStream f = new FileInputStream(file);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>ObjectInputStream of = new ObjectInputStream(f);</div> <div><br /></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span><font color="#ff0000">Object li = of.readObject();</font></div> <div><font color="#ff0000"><br /></font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>Line lin = (Line) li;</font></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>of.close();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>} catch (Exception e1) {</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println(e1.getMessage());</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div></div> <div><br /></div> <div>문제는 이부분인데요. </div> <div><br /></div> <div>일단 저장하는 부분은 잘됩니다. ㅠㅠ</div> <div><br /></div> <div>하지만 반대로 로드할때 에러가 나는데요. </div> <div><br /></div> <div>저장할때 부터 잘 못된건가요?</div> <div><br /></div> <div>Line l = new Line(rx,ry,rx2,ry2) 하면</div> <div><br /></div> <div>직선 여러개 그린거 object 타입으로 다 저장되지 않는건가요? ㅠㅠ</div> <div><br /></div> <div>이상하게 파일을 불러올때 에러가뜨는 현상이 나타나서요 ㅠㅠ</div> <div><br /></div> <div>load할때도 파일이 불러오지도 않구요. ㅠㅠㅠㅠ</div> <div><br /></div> <div>전부는 아니지만 제가 생각할 수 있도록 힌트좀 주셨으면 합니다...</div> <div><br /></div> <div>매번 와서 질문하는게 죄송하긴하지만 정말 마땅히 물어볼 곳이 없더군요. ㅠㅠㅠ</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.