JAVA編輯的一個小地圖

來源:互聯網
上載者:User

看書看到了,就寫了一下..

import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

public class Map extends JFrame{
 
 public Map(){
  super("Map");
  setSize(350,300);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  MapPane map=new MapPane();
  Container content=getContentPane();
  content.add(map);
  show();
 }
 
 public static void main(String arguments[]){
  
  Map frame=new Map();
 }
}

class MapPane extends JPanel{
 
 public void paintComponent(Graphics comp){
  Graphics2D comp2D=(Graphics2D)comp;
  comp2D.setColor(Color.blue);
  Rectangle2D.Float background=new Rectangle2D.Float(0F,0F,(float)getSize().width,(float)getSize().height);
  comp2D.fill(background);
  comp2D.setColor(Color.white);
  BasicStroke pen=new BasicStroke(2F,BasicStroke.CAP_BUTT,BasicStroke.JOIN_ROUND);
  comp2D.setStroke(pen);
  for(int ax=0;ax<340;ax+=10)
  for(int ay=0;ay<340;ay+=10){
   Arc2D.Float wave=new Arc2D.Float(ax,ay,10,10,0,-180,Arc2D.OPEN);
   comp2D.draw(wave);
  }
  
  GradientPaint gp=new GradientPaint(0F,0F,Color.green,350F,350F,Color.orange,true);
  comp2D.setPaint(gp);
  GeneralPath fl=new GeneralPath();
  fl.moveTo(10F,12F);
  fl.lineTo(234F,15F);
  fl.lineTo(253F,25F);
  fl.lineTo(261F,71F);
  fl.lineTo(344F,209F);
  fl.lineTo(336F,278F);
  fl.lineTo(295F,310F);
  fl.lineTo(259F,274F);
  fl.lineTo(205F,188F);
  fl.lineTo(211F,171F);
  fl.lineTo(195F,174F);
  fl.lineTo(191F,118F);
  fl.lineTo(120F,56F);
  fl.lineTo(94F,68F);
  fl.lineTo(81F,49F);
  fl.lineTo(12F,37F);
  fl.closePath();
  comp2D.fill(fl);
  
  comp2D.setColor(Color.black);
  BasicStroke pen2=new BasicStroke();
  comp2D.setStroke(pen2);
  Ellipse2D.Float e1=new Ellipse2D.Float(235,140,15,15);
  Ellipse2D.Float e2=new Ellipse2D.Float(225,130,15,15);
  Ellipse2D.Float e3=new Ellipse2D.Float(245,130,15,15);
  comp2D.fill(e1);
  comp2D.fill(e2);
  comp2D.fill(e3);
 }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.