Eksperymentowałem z Graphics2D w Javie. Ale jak zwykle utknąłem. : P Problem jest: Załóżmy, że mam tego kodu,Resetowanie obiektu Graphics2D w Javie
Graphics2D g=(Graphics2D)(this.getGraphics()); //Inside a JFrame
g.rotate(Math.PI/8);
g.drawLine(10, 20, 65, 80);
//I want this one and all following lines to be drawn without any rotation
g.drawLine(120, 220, 625, 180);
Czy to możliwe ??? Wiem, że musi być jakiś sposób, ale nie jestem w stanie tego rozgryźć. Proszę pomóż.
Ponadto zaleca się, aby użyć kopii obiektu graficznego, a nie samego obiektu graficznego, aby uniknąć dzwonienia, ponieważ będzie on używany w innym miejscu. – mre
czy możesz wyjaśnić? co masz na myśli mówiąc "clobbering"? –
Czasami masz już obiekt 'Graphics' i chcesz tymczasowo zmienić jego stan, a następnie przywrócić go do pierwotnego stanu. Jednym ze sposobów jest stworzenie nowego obiektu 'Graphics', który jest kopią oryginału i zamiast tego wprowadzanie zmian do tej kopii. Ta technika pozwala uniknąć stanu oryginalnego obiektu, na którym mogą polegać inne części Swinga. To może nie mieć zastosowania w tym przypadku, ale pomyślałem, że nie zaszkodzi wspomnieć! :) – mre