0
インターフェースShapeについて
Graphics2Dにdraw(Shape shape)と言うありますが、
長い直線を描画したくて
Line2D.Double line = Line2D.Double(0, 0, Integer.MAX_VALUE, Integer.MAX_VALUE);
g2.draw(line);
とすると、画面に描画されません。
g.drawLine( 0, 0, Integer.MAX_VALUE, Integer.MAX_VALUE );
このように直接書くと描画されるのでShapeとはの描画のされ方が違うのでしょうか。
どなたか教えてください。
以下、ソースです。
import 省略
public class TestPanel extends JPanel
{
public void paintComponent(Graphics graphics)
{
Graphics2D g2 = (Graphics2D)graphics;
Line2D.Double line = new Line2D.Double(0, 0, Integer.MAX_VALUE, Integer.MAX_VALUE);
// 描画されない
g2.draw( line );
// 描画される
g2.drawLine( 0, 0, Integer.MAX_VALUE, Integer.MAX_VALUE );
}
public static void main(String args[])
{
TestPanel test = new TestPanel();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.getContentPane().add(test);
frame.setSize(300, 300);
frame.setVisible(true);
}
}