자바좀 알려주실분!!!! 정말 급해서 그래요 ㅠㅠ

김경래2011.12.04
조회60

import java.awt.Button;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

class DrawShape extends Frame
{
 /-*
  *
  *-
 private static final long serialVersionUID = 1L;
 int number = (int)(Math.random()*100)+1;
 int numbero = (int)(Math.random()*100)+1;
 int numbert = (int)(Math.random()*100)+1;
 int numberu = (int)(Math.random()*100)+1;
 public static void main(String[] args)
 {
  DrawShape win = new DrawShape("당신의 운세는?"); //창 제목입니다.
  win.addWindowListener(new EventHandler());
  win.setLayout(null);
  Button b=new Button("운세보기");
  b.setSize(70,25);
  b.setLocation(300,350);
  win.add(b);
  b.addActionListener(new EventHandler2());
 }
 public void paint(Graphics g)
 {
  Point[] p={
   new Point(200,200-number),new Point(100+numberu,200-numberu), new Point(200+numbero,300-numbero), new Point(300-numbert,300-numbert)
   
  };
   //new Point(200,150), new Point(150,250), new Point(250,250)
  Triangle t=new Triangle(p);
  g.setFont(new Font("Serif",Font.PLAIN,15));
  g.drawString("오늘의 운세를 보시려면 운세보기 버튼을 눌러주세요.",10,50);


  // 그래프 상에서의 위치
  g.drawString("qwe",70,90); // Red
  g.drawString("애정",70,310); // Blue
  g.drawString("재물",310,310);
  g.drawString("재물",310,90);// Orange


  
  g.drawLine(100,300,200,200);
  g.drawLine(300,300,200,200);
  g.drawLine(100,100,200,200);
  g.drawLine(300,100,200,200);
 


  g.setColor(Color.red);
  g.drawLine(t.p[0].x,t.p[0].y,t.p[1].x,t.p[1].y);
  g.setColor(Color.blue);
  g.drawLine(t.p[2].x,t.p[2].y,t.p[3].x,t.p[3].y);
  g.setColor(Color.orange);
  g.drawLine(t.p[3].x,t.p[3].y,t.p[0].x,t.p[0].y);
  g.setColor(Color.black);
  g.drawLine(t.p[2].x,t.p[2].y,t.p[1].x,t.p[1].y);
  
  
 }
 DrawShape(String title)
 {
  super(title);
  setSize(500,500);
  setVisible(true);
 }
}


class Point
{
 int x;
 int y;


 Point(int x, int y)
 {
  this.x=x;
  this.y=y;
 }
 Point()
 {
  this(0,0);
 }
}


class Triangle
{
 Point[] p=new Point[4];
 Triangle(Point[] p)
 {
  this.p=p;
 }


 Triangle(Point p1, Point p2, Point p3, Point p4)
 {
  p[0]=p1;
  p[1]=p2;
  p[2]=p3;
  p[3]=p4;
 }
}
class EventHandler implements WindowListener // 프로그램 실행 뒤에 cmd창을 꺼야하는 불편함을 없애기 위해 닫기버튼 이벤트
{
 public void windowOpened(WindowEvent e){}
 public void windowClosing(WindowEvent e){
  e.getWindow().setVisible(false);
  e.getWindow().dispose();
  System.exit(0);
 }
 public void windowClosed(WindowEvent e){}
 public void windowIconified(WindowEvent e){}
 public void windowDeiconified(WindowEvent e){}
 public void windowActivated(WindowEvent e){}
 public void windowDeactivated(WindowEvent e){}
}
class EventHandler2 implements ActionListener // 운세보기 버튼을 누르면
{
 public void actionPerformed(ActionEvent e)
  {
   DrawShape win = new DrawShape("당신의 운세는?");
   win.addWindowListener(new EventHandler());
   win.setLayout(null);
   Button b=new Button("운세보기");
   b.addActionListener(new EventHandler2());
   b.setSize(70,25);
   b.setLocation(300,350);
   win.add(b);
  }
}

 

그래프로 나타나는 운세 프로그램인데

프로그램을 실행하게되면 운세프로그램을 만들었는데 선이 안맞습니다

선이 맞게 4개로 나타나게 만들고싶습니다

프로그램 실행후 창이 뜨면 추가버튼으로 행운의 숫자를 만들어

새창으로 뜨게 해주세요

1~45까지 랜덤숫자로 6자리로 로또번호생성하듯이..

그리고 옆에 간단한 주석좀 달아주세요

 

공부할려니 모르겠습니다 알려주실분 안계신가요