Problem:
Create a drawing dot java gui application.

Solution:
//***************DrawingDotFrame.java************************/
import javax.swing.JFrame;
public class DrawingDotFrame {
public static void main(String[] args) {
JFrame frame = new JFrame("Drawing Dot");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new DrawingDotPanel());
frame.pack();
frame.setVisible(true);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
}
}
//***************DrawingDotPanel.java************************/
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import javax.swing.JPanel;
public class DrawingDotPanel extends JPanel {
private ArrayList<Point> points;
private final int WIDTH = 400, HEIGHT = 400;
private final int Radius = 3;
public DrawingDotPanel() {
points = new ArrayList<>();
addMouseListener(new DotsListener());
setPreferredSize(new Dimension(WIDTH,HEIGHT));
setBackground(Color.BLACK);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.GREEN);
for(Point p : points)
g.fillOval(p.x-Radius, p.y-Radius, 2*Radius, 2*Radius);
g.drawString("Count: " + points.size(), 5,15);
}
private class DotsListener implements MouseListener {
@Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
points.add(arg0.getPoint());
repaint();
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}
}
No comments :
Post a Comment