ユーザーが三角形をクリックすると三角形の色を塗りつぶす方法が不思議でした。マウスクリックで三角形の塗りつぶし色を入力する
これまでは、入力ファイルとしてtxtファイルを使用して、画面上に描かれる三角形の座標を読み取っています。
ユーザーが三角形をクリックすると三角形の色を塗りつぶす方法が不思議でした。マウスクリックで三角形の塗りつぶし色を入力する
これまでは、入力ファイルとしてtxtファイルを使用して、画面上に描かれる三角形の座標を読み取っています。
ないあなた
はJPanelのを拡張... "環境である" わから..ずっと前にこのような何かをしました。
MouseAdapterを追加して、mouseClickedメソッドの座標を取得し、パネルの配列に保存します。
drawComponentメソッドをオーバーライドして、三角形を描画します。
class MyPanel extends JPanel {
private int count = 0;
private Point[] points = new Point[3];
MyPanel() {
setBackground(Color.WHITE);
addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {
if (count == points.length) {
for (int i = 1; i < points.length; i++) {
points[i-1] = points[i];
}
count -= 1;
}
points[count] = e.getPoint();
count += 1;
repaint();
}
}
});
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D gg = (Graphics2D) g;
if (count > 2) {
Polygon polygon = new Polygon();
for (int i = 0; i < count; i++) {
polygon.addPoint(points[i].x, points[i].y);
}
gg.setColor(Color.BLUE);
gg.fill(polygon);
}
}
}
よう 何かがそれはどのように三角形を描いている
完了していないのですが...? –
これまでのプログラムでは、txtファイルから三角形の座標を読み取って三角形を描画していましたが、txtファイルからハードコードされた代わりにマウスを使って三角形を描画する方法があるかどうかは疑問でした – Jessy