我有JFrame的东西。我想将它完全旋转180度。问题是从JFrame类中访问正确的图形实例,因为它以某种方式调用了zillion类,它们以某种方式注入等等。所以我可能不会有机会重写paint方法,它在应用程序的核心中以某种方式封装。
float anchorx = configuration.getDisplayWidth() / 2.0f;//center x coord
float anchory = configuration.getDisplayHeight() / 2.0f;//center y coord
protected JFrame graphicalPosDisplayFrame;
graphicalPosDisplayFrame = new JFrame();
graphicalPosDisplayFrame.setLocation(configuration.getDisplayPositionX()+100, configuration.getDisplayPositionY()+500); //this works fine
//for rotate i tryed this, but i does not repaint it
graphicalPosDisplayFrame.getGraphicsConfiguration().getDefaultTransform().rotate(Math.PI, anchorx, anchory);
graphicalPosDisplayFrame.repaint();
以下是使用Graphhics2d实例时如何执行此操作的示例 http://www.coderanch.com/t/623829/GUI/java/rotate-JPanel Piet Souris的回答是11/18/2013 11:49:56 PM 我评论了鼠标监听器并更改了这一行g2d.rotate(Math.PI,x,y); //旋转180度
我的问题是如何正确访问Graphics2d实例并重新绘制它,因为我的方法不起作用。