Я новичок в графике в java, это моя первая программа рисования. Я мог бы рисовать линии, прямоугольники, овалы, используя прослушиватель мыши и прослушиватель движения мыши, как программа рисования, но у меня проблема с рисованием треугольников, которые я пытался использовать многоугольники, но это очень сложная .И действительно нужна помощь, чтобы понять, как решить эту проблему .any помощь будет appreciated.that мой код, это глупо, потому что я попробовать новую вещь, каждый второйРисование треугольника с помощью мыши
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
/* *
*
* @author D S
*/
public class GUI extends JPanel {
int[] x;
int[] y;
Graphics2D graph;
public GUI() {
Handler handler = new Handler();
this.addMouseListener(handler);
this.addMouseMotionListener(handler);
}
public class Handler implements MouseListener, MouseMotionListener {@Override
public void mouseClicked(MouseEvent me) {
throw new UnsupportedOperationException("Not supported yet.");
//
To change body of generated methods, choose Tools | Templates.
}
@Override
public void mousePressed(MouseEvent e) {
x[0] = e.getX();
y[0] = e.getY();
repaint();
}
@Override
public void mouseReleased(MouseEvent e) {
x[1] = e.getX();
x[2] = e.getX();
y[1] = e.getY();
y[2] = e.getY();
graph.drawPolygon(x, y, x.length);
repaint();
}
@Override
public void mouseEntered(MouseEvent me) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void mouseExited(MouseEvent me) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void mouseDragged(MouseEvent e) {
x[1] = e.getX();
x[2] = e.getX();
y[1] = e.getY();
y[2] = e.getY();
repaint();
}
@Override
public void mouseMoved(MouseEvent me) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
@Override
public void paint(Graphics g) {
graph.setStroke(new BasicStroke(2));
graph.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setColor(Color.BLUE);
g.drawPolygon(x, y, x.length);
}
}
Wooowww .... как бит какой-то идентификатор. –
Я бы предложил использовать что-то вроде «Path2D», а затем «AffineTransform» для масштабирования и поворота, но это может быть немного более продвинутым, чем вы ищете ... – MadProgrammer
Также, как удалить большинство этих пустых строк? ! –