• ベストアンサー
  • 困ってます

【java】座標の値をテキストファイルに出力

  • 質問No.6421368
  • 閲覧数315
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 52% (10/19)

javaを勉強中の者です。
座標の値をクリックした際にテキストファイルに出力したいのですが、どうしてもうまくできません。

調べてはいるのですが、わかりませんでした。
javaに詳しい方がいらっしゃれば、ご教示ください。

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class clickpoint extends JFrame implements MouseMotionListener, MouseListener {

JLabel label;
JPanel panel;

public static void main(String args[]) {
clickpoint MF = new clickpoint();
MF.setSize(300, 320);
MF.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) { System.exit(0); };
});

MF.setTitle("Click Point");
MF.setVisible(true);
};

clickpoint() {
panel = new JPanel();
panel.addMouseMotionListener(this);
panel.setBackground(Color.green);
label = new JLabel("座標を指定");
getContentPane().add(panel, BorderLayout.CENTER);
getContentPane().add(label, BorderLayout.PAGE_END);
}

public void mouseMoved(MouseEvent e) {
Point point = e.getPoint();
label.setText("x:" + point.x + ",y:" + point.y);
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseDragged(MouseEvent e) {}

public void mouseClicked(MouseEvent ec) {
try {
File OF = new File("d:\\zahyou.txt");
FileWriter FW = new FileWriter(OF, true);
FW.write(MakeData(ec.getX(), ec.getY()));
FW.close();
} catch (Exception ex) { System.out.println(ex.toString()); System.exit(0); };
};

String MakeData(int x, int y) {
String LS = System.getProperty("line.separator");
StringBuffer s = new StringBuffer();
s.append(x * 100 / getWidth() + ",90,0,");
s.append(y * 100 / getHeight());
s.append(LS);
return(s.toString());
}
}

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 54% (1660/3060)

panel.addMouseMotionListener(this);はあるのに、なぜかpanel.addMouseListener(this);がないから。
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ