みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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());
}
}

投稿日時 - 2011-01-02 21:47:13

QNo.6421368

困ってます

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

panel.addMouseMotionListener(this);はあるのに、なぜかpanel.addMouseListener(this);がないから。

投稿日時 - 2011-01-02 22:16:52

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問