progJ.pdf progJ-s.pdf progJ-e.pdf 記事一覧 |
![]() JPanel への描画 |
progJ.pdf の[#60]-[#61]に対応する部分を追加しました.
※ *.class は http://hakurei-isl.org/m-miyata/jar/App61-dist.zip,
//App61.java
import java.awt.*;
import javax.swing.*;
class Fig61 extends JPanel{
Fig61( ){
super( );
setPreferredSize(new Dimension(300, 200));
setBackground(Color.white);
}
//public void paint(Graphics g){//非推奨
//super.paint(g);
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawLine(0,0,200,200);
g.drawString("Hello", 50, 150);
g.drawOval(150, 50, 100, 50);
}
}
public class App61 extends App50 {
JPanel p1;
App61( ){
super( ); setSize(350, 300);
p1 = new JPanel( ); p1.add(new Fig61( ));
Container cp = getContentPane(); cp.add(p1);
}
}
//Main.java
public class Main {
public static void main(String[] args) {
//App61 app = new App61();//要伸縮(最初描画せず)
//Thread th = new Thread(new App61()); th.start();//要伸縮
//EventQueue.invokeLater(new App61());//要伸縮
EventQueue.invokeLater(new Runnable( ) {
public void run( ) {new App61( );}
});
}
}
--------------------
//App60.java
import java.awt.*;
import javax.swing.*;
public class App60 extends App50 {
App60(){super(); setSize(350, 300);}
//public void paintComponent(Graphics g){//描画せず
//super.paintComponent(g);//エラー
public void paint(Graphics g){
g.drawLine(0,0,200,200);
g.drawString("Hello", 50, 150);
g.drawOval(150, 50, 100, 50);
}
public static void main(String[] args) {
App60 app = new App60();
}
}
※コメント投稿者のブログIDはブログ作成者のみに通知されます