package com.ogane.xi.test; import java.awt.*; import java.awt.event.*; import java.text.*; import com.ogane.xi.*; public class ImageMapTest extends Frame implements ImageMapListener { ImageMap map = new ImageMap(); Label label = new Label(); NumberFormat nf = NumberFormat.getInstance(); public ImageMapTest() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); setTitle("ImageMapTest"); setLayout(new BorderLayout()); setBackground(new Color(220, 211, 200)); // ----- イメージ地図 ----- map.setMinimumX(34.); map.setMaximumX(36.); map.setNumMajorTicksX(5); map.setNumMinorTicksX(4); map.setMinimumY(134.); map.setMaximumY(136.); map.setNumMajorTicksY(5); map.setNumMinorTicksY(4); map.setTickLabelFormat("#.0"); map.setImageFile("com/ogane/xi/test/map.jpg"); map.setCursorColor(Color.orange); //map.setPolicy(ImageMap.REAL_SIZE); map.setPolicy(ImageMap.KEEP_RATIO); //map.setPolicy(ImageMap.FULL_FILL); map.addImageMapListener(this); add(BorderLayout.CENTER,map); // 座標を表示するラベル label.setAlignment(Label.CENTER); add(BorderLayout.SOUTH,label); ((DecimalFormat) nf).applyPattern("#0.00"); setSize(380, 400); setVisible(true); } public void cursorMoved(ImageMapEvent ev) { double x = ev.getX(); double y = ev.getY(); label.setText("moved x="+nf.format(x)+" y="+nf.format(y)); } public void cursorClicked(ImageMapEvent ev) { double x = ev.getX(); double y = ev.getY(); label.setText("clicked x="+nf.format(x)+" y="+nf.format(y)); } protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public static void main(String[] args) { new ImageMapTest(); } }