// Java에서 객체를 그리는 방법을 배우려고합니다. 나는 그것에 나아지고있다. 그러나 내가 스크린 위에서 이미지를 얻으면 나는 그것을 조작하는 데 문제가있다. 내가 넣은 숫자는 어떻게 모양이 나오는지 이해하지 못합니다. 적어도 나에게는 그렇지 않다. 대수학에서는 x 축의 숫자를 늘리면 오른쪽으로 가고 y 축의 숫자를 늘리면 올라갑니다. 그게 무슨 일이 일어나고있는 건 아니야. 아무도 내게 어떻게 작동하는지 설명 할 수 있습니까? 나는 여전히 Java에 익숙하지 않으므로 설명과 세부 사항이 많을수록 좋습니다. 나는 자바를 배우기 위해 내 여름에 2 시간을 나가기 위해 노력하고있다. 때로는 조금 실망 스럽다. 어떤 도움이라도 대단히 감사합니다. 여기JFrame의 좌표 평면 사용
답변
화면의 TOP LEFT SIDE
, 당신은 X
의 가치를 높이는 등 당신이 Y
의 값을 증가, 당신은 DOWNWARDS
을 이동하지만, 당신은 RIGHT SIDE
쪽으로 이동에서 Co-ordinates
시작. 다음은 간단한 예제 프로그램입니다.이 프로그램을 조금 더 잘 이해하고 어디에서나 클릭하기 만하면됩니다.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DrawingExample
{
private int x;
private int y;
private String text;
private DrawingBase canvas;
private void displayGUI()
{
JFrame frame = new JFrame("Drawing Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
canvas = new DrawingBase();
canvas.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent me)
{
text = "X : " + me.getX() + " Y : " + me.getY();
x = me.getX();
y = me.getY();
canvas.setValues(text, x, y);
}
});
frame.setContentPane(canvas);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String... args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new DrawingExample().displayGUI();
}
});
}
}
class DrawingBase extends JPanel
{
private String clickedAt = "";
private int x = 0;
private int y = 0;
public void setValues(String text, int x, int y)
{
clickedAt = text;
this.x = x;
this.y = y;
repaint();
}
public Dimension getPreferredSize()
{
return (new Dimension(500, 400));
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawString(clickedAt, x, y);
}
}
아 멋지다. 이것은 위대합니다. –
@MartinMarino : Thankyou 및 KE SM SMILING :-) –
코드에서 기호 클래스 DrawingBase를 찾을 수 없다는 내용입니다. 오류는 개인 "DrawingBase"캔버스입니다. 캔버스 = 새로운 "DrawingBase"(); 따옴표는 실제 오류의 출처를 보여줍니다. 도움을 주셔서 감사하지만 어떻게 해결해야할지 모르겠습니다. 좀 더 도움을 얻을 수 있을까요? –
- 1. JFrame의 JPanel 좌표 참조
- 2. OpenGL 이미지 평면 좌표 찾기
- 3. 베스트 피트 평면
- 4. 굽힘 후의 평면 너비 (pv3d, as3dmod 사용)
- 5. MATLAB - 플롯 현재 좌표
- 6. JFrame의 JCommandButton
- 7. JFrame의 OpenGL
- 8. 자바 JFrame의
- 9. 깜박임 JFrame의
- 10. QGraphicsScene에서 사용자 정의 좌표 사용
- 11. three.js : 평면 - 직교 벡터에서 평면 회전 행렬
- 12. 3D 평면 평면 교차점, 단순 평면으로
- 13. C에서 평면 삽입 (평면 면회) 알고리즘 #
- 14. 4 개의 좌표의 기울기? (평면)
- 15. 평면 그래프
- 16. 데카르트 평면
- 17. 평면 교차점
- 18. JFrame의 CardLayout JPanel GUI
- 19. GeoServer가 평면 좌표계로 작업 할 수 있습니까
- 20. 교차점의 Z를 찾으려면 레이 - 평면 교차점
- 21. Google지도에서 지정된 좌표 부근의 좌표 좌표
- 22. 정규화 된 장치 좌표 창 좌표 좌표
- 23. 위도와 경도의 좌표 좌표
- 24. 직교 좌표/지리적 좌표
- 25. 자바 JFrame의 타일 변경
- 26. Jframe의 모든 객체를 반복합니다.
- 27. JFrame의 이미지 디스플레이
- 28. JFrame의 원을 끌기
- 29. onToped JFrame의는, JDialog를 = JFrame의
- 30. JFrame의 windows animation
자바에서는 (0,0)이 왼쪽 상단 구석에 있습니다. – Jeffrey
이 [link] (http://docs.oracle.com/javase/1.4.2/docs/guide/2d/spec/j2d-intro.html#wp61857) 도움이 될 수 있습니다. – bacchus
이 [예제] (http://stackoverflow.com/a/9373195/230513)에서는 데카르트 좌표와 화면 좌표 간의 변환에 대해 설명합니다. – trashgod