javaでgraphicsの描画の件
今日は
javaでgraphicsの描画を行っていますが、CENTERのペインには、描画できますが、
それ以外のペイン(NORTH,WEST、EAST,、SOUTH)には、描画できないように思います。
Q1)この件について、コメント頂けますと大変助かります。
下記に、ソースコードを添付いたします。
===================
package pkg;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class SampleApp extends JFrame {
public SampleApp(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(600, 300);
this.add(new GPanel(), BorderLayout.WEST);
this.add(new GPanel(), BorderLayout.CENTER);
}
public static void main(String[] args) {
new SampleApp().setVisible(true);
}
}
class GPanel extends JPanel {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
// int w = this.getWidth();
// int h = this.getHeight();
int w=200;
int h=200;
g.setColor(Color.RED);
g.fillOval(0, 0, w/2, h/2);
Graphics2D g2 = (Graphics2D)g;
g2.draw(new Line2D.Double(40, 40, w,h));
g.setColor(Color.BLUE);
g.setFont(new Font("Serif", Font.BOLD, 36));
g.drawString("Graphics draw!", 10, h - 50);
// g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.draw(new Line2D.Double(30.0d, 50.0d, 180.0d, 140.0d));
g2.setPaint(Color.PINK);
BasicStroke wideStroke = new BasicStroke(8.0f);
g2.setStroke(wideStroke);
g2.draw(new Line2D.Double(30.0d, 120.0d, 250.0d, 70.0d));
}
}