2015-09-05 1 views
0

Привет, У меня есть приложение, в котором вы нажимаете одну точку, а затем другую, и рисует линию с шагом 20. Я хочу, чтобы иметь возможность щелкнуть любую часть строки и удалить Это.Java Line2d.double как установить штрих

private Shape line = new Line2D.Double(x, y, fx, fy); 

public highlight(int x, int y, int fx, int fy, int page, boolean fin) { 
    this.x = x; 
    this.y = y; 
    this.fx = fx; 
    this.fy = fy; 

    line = new Line2D.Double(x, y, fx, fy); 

    this.fin = fin; 

    this.page = page; 
} 

public void tick() { 
    line = new Line2D.Double(x, y, fx, fy); 

    if (!fin) { 
     play.cannotdrawline = true; 
     fx = Comp.mx; 
     fy = Comp.my; 
    } else { 
     play.cannotdrawline = false; 

    } 

    if(line.intersects(Comp.mx,Comp.my,1,1) && play.candeleteline){ 
     if(Comp.ml){ 
      remove = true; 
     } 
    } 
} 

public void render(Graphics g) { 
    Graphics2D g2d = (Graphics2D) g; 

    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 
    g2d.setStroke(new BasicStroke(20, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); 

    // g.setColor(new Color(190,240,93, 143)); 
    if (line.intersects(Comp.mx, Comp.my,1,1) && play.candeleteline) { 
     g.setColor(Color.blue); 
    } else { 
     g.setColor(Color.red); 

    } 
    g.drawLine(x, y, fx, fy); 
    //g2d.draw(line); 

} 

}

Это все работает отлично, я могу удалить его, но я должен щелкнуть по одной очень средней линии пикселей, чтобы иметь возможность удалить его. Я знаю, как установить штрих для рисования строки, но я не знаю, как установить штрих для формы линии (это часть, которая проверяет, можно ли удалить строку или нет). Как я могу это сделать?

Заранее благодарен.

ответ

0

Я знаю, как установить штрих для рисования строки, но я не знаю, как установить штрих для формы линии (которая является частью, которая проверяет, можно ли удалить строку или нет). Как я могу это сделать?

Насколько я знаю, вы не можете с тех пор, подобно Color, Stroke является свойством объекта Graphics2D, а не формы. Тем не менее, вы можете связать определенный штрих с определенным Shape с помощью карты или использовать специальный класс, если это необходимо, например, если вам нужно связать несколько свойств, таких как Stroke и Color with Shape, так же, как любая другая ассоциация Java.

 Смежные вопросы

  • Нет связанных вопросов^_^