자바 그리기 관련 질문
Orange
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CustomPanel extends JPanel {
public final static int SQUARE=1, CIRCLE=2;
public int x1, y1, x2, y2;
private int shape;
public CustomPanel()
{
addMouseListener(
new MouseAdapter(){
public void mousePressed(MouseEvent event)
{
x1 = event.getX();
y1 = event.getY();
}
public void mouseReleased(MouseEvent event)
{
x2 = event.getX();
y2 = event.getY();
repaint();
}
}
);
addMouseMotionListener(
new MouseMotionAdapter(){
public void mouseDragged(MouseEvent event)
{
x2 = event.getX();
y2 = event.getY();
repaint();
}
}
);
}
public Dimension getPreferredSize()
{
return new Dimension(400,250);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if (shape == SQUARE)
g.drawRect(Math.min(x1,x2), Math.min(y1,y2), Math.abs(x1-x2), Math.abs(y1-y2));
else if (shape == CIRCLE)
g.drawOval(Math.min(x1,x2), Math.min(y1,y2), Math.abs(x1-x2), Math.abs(y1-y2));
}
public void draw(int shapeToDraw)
{
shape = shapeToDraw;
}
}public class DrawPanel extends JFrame {
private JPanel buttonPanel;
private CustomPanel myPanel;
private JButton squareButton, circleButton;
public DrawPanel()
{
super (Draw Shapes);
myPanel = new CustomPanel();
myPanel.setBackground(Color.WHITE);
squareButton = new JButton(사각형 그리기);
squareButton.addActionListener (
new ActionListener(){
public void actionPerformed(ActionEvent event)
{
myPanel.draw(CustomPanel.SQUARE);
}
}
);
circleButton = new JButton(원 그리기);
circleButton.addActionListener (
new ActionListener(){
public void actionPerformed(ActionEvent event)
{
myPanel.draw(CustomPanel.CIRCLE);
}
}
);
buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(1,2));
buttonPanel.add(squareButton);
buttonPanel.add(circleButton);
Container container = getContentPane();
container.add(myPanel, BorderLayout.CENTER);
container.add(buttonPanel, BorderLayout.SOUTH);
setSize (400, 300);
setVisible (true);
}
public static void main(String args[])
{
DrawPanel application = new DrawPanel();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}그림판을 구현한 소스입니다... 2개의 버튼이 달린 그림판으로 [원그리기][사각형그리기]
각각의 버튼을 클릭하고 마우스 드래그 했을때 그 도형이 그려지는건데......ㅠㅠ
한개씩 밖에 안그려지네요.. [원그리기]로 타원그리고 [사각형그리기]클릭후 사각형그리면
원은 지워지구요......... 화면에 3개의 객체가 저장될수 있게 서큘러큐로 구현하라는데....
(세개의 도형을 그리고 네번째 도형을 그릴때 첫번째 도형이 지워지고.. 이런식으로..)
이벤트 생성되는 곳에 배열을 썼더니 컴파일은 되는데 실행하면 에러나구...ㅠㅠ도와주세여!!
꼭 원형큐를 이용하라구 해서 더 해결이 난감하다는....웅.... 며칠째 머리싸매구 있습니다...
-
빈길
요즘은 학교다니기 참편한거 같아요 ^^; 저 학교다닐때는 레포트 해결하려고 선배나 친구들한테 사정했던 기억이.. 요즘은 네이버 지식인이나 사이트에 글올리면 해결되고.. ㅋ
-
이름없음
수욜반이신가? 이거 해결 보셨나여? ㅡㅡ;대략 난감..
-
치에미
헉 이거 우리학교 과제인데... 나랑 같은 과인가 부네 -_-;
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695934 | tr 속성값 (9) | 새 | 2025-05-25 |
2695905 | ASP로 개발됐을 때 css가 달라져요 ㅠㅠ (4) | 슬아라 | 2025-05-24 |
2695878 | form을 이용한 다른 페이지로 넘기는 방법을 알려주세요 (1) | 핫파랑 | 2025-05-24 |
2695844 | 저기 암호화 및 복호화 프로그램.. 만들어볼려는대 (2) | 한빛 | 2025-05-24 |
2695814 | [질문] PDA에서 애플릿이 가능한가요? (1) | 봄시내 | 2025-05-24 |
2695785 | 웹 설정 도와줄분 | 화이트캣 | 2025-05-23 |
2695730 | 갑자기 기억이 안나는데 accesskey 속성.. | 빛나라 | 2025-05-23 |
2695702 | [질문] Java 버전 차이에 의한 오류?!! (2) | 검사 | 2025-05-23 |
2695672 | 자바 임베디드 쪽으로 배우고 싶은데요..질문이요.. (1) | 뽀그리 | 2025-05-22 |
2695647 | 헉! 이클립스(v3.1)에서 발생되는 널포인트 익셉션? ;;; (3) | 아빠몬 | 2025-05-22 |
2695586 | IFRAME 캐싱 질문 | 봄나비 | 2025-05-22 |
2695498 | [질문]실행가능한 jar파일.. 정말 이해가 안가네요... ㅡㅜ;; | 터1프한렩 | 2025-05-21 |
2695468 | 자바랑 이클립스에서요.. | 스킬 | 2025-05-21 |
2695375 | Mysql 연동하는 자바 질문있습니다. | 아리솔 | 2025-05-20 |
2695319 | 파워포인트 파일을 저장할 수 있을까요? | 시윤 | 2025-05-19 |
2695289 | [질문]Tween 값의 정도를 알고 싶습니다. | 타마 | 2025-05-19 |
2695238 | c 와 c++의 시작 (10) | ChocoHoilc | 2025-05-18 |
2695215 | 탑메뉴의 repeat-x .배경이 두가지에요ㅠ ㅠ | 널위해 | 2025-05-18 |
2695187 | 자바스크립트와 자바의 import에 관해서 질문드려요 (1) | 무슬 | 2025-05-18 |
2695116 | 테마 문의 (해당 사이트와 같은 테마 혹은 플러그인) | Sweet | 2025-05-17 |