作って学ぼう!0から始めるJavaプログラミング入門①
上記のものを作ってみてたんですが、最終形態を動かしてみてマウスをすばやく動かすと点々が並びます。これはこういう仕様なのでしょうか?すばやく動かしてもまっすぐ引ける方法があれば教えてください。
package simplepainter; import java.awt.Color; import java.awt.Graphics; import java.awt.event.*; import javax.swing.*; public class SimplePainter { public static void main(String[] args) { JFrame frame = new JFrame("SimplePainter"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(600, 400); frame.setLocationRelativeTo(null); Canvas canvas = new Canvas(); frame.add(canvas); frame.setVisible(true); } } class Canvas extends JPanel implements MouseListener, MouseMotionListener { private int x = -100; private int y = -100; public Canvas() { addMouseListener(this); addMouseMotionListener(this); setSize(600, 400); } @Override public void paintComponent(Graphics g) { g.setColor(Color.RED); g.fillOval(x-5, y-5, 10, 10); } @Override public void mouseClicked(MouseEvent e) { } @Override public void mousePressed(MouseEvent e) { x = e.getX(); y = e.getY(); repaint(); } @Override public void mouseReleased(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } @Override public void mouseDragged(MouseEvent e) { x = e.getX(); y = e.getY(); repaint(); } @Override public void mouseMoved(MouseEvent e) { } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/06 10:28