// // Image描画アプリケーション(JDK1.1.X以降) // // 2000/ 6/11 宍戸 輝光 // import java.awt.*; import java.awt.event.*; class Pap extends Frame implements ActionListener { Panel pl; Button bt; Image img=null; public Pap() { setSize(320,240); this.setLayout((LayoutManager)null); bt=new Button("Close"); // ボタン生成 bt.addActionListener(this); // ボタンのイベントリスナ設定 pl=new Panel(); // 部品配置用パネル生成 pl.setBackground(Color.green); add(pl); // パネルをフレーム上に配置 pl.setBounds(0,200,320,40); pl.add(bt); // パネルにボタン配置 } public static void main(String args[]) { Pap tes=new Pap(); // アプリケーション生成 tes.pack(); tes.show(); tes.repaint(); } public void actionPerformed(ActionEvent e) { if (e.getSource()==bt) { // ボタンクリックイベント dispose(); // アプリケーションフレーム破棄 System.exit(0); // 終了 } } public void paint(Graphics g) { if (img==null) { // Image作成 img=createImage(320,200); // Image生成 Graphics g_img=img.getGraphics(); for (int i=0;i<200;i++) { g_img.setColor(new Color(i+56,i+56,i+56)); g_img.drawLine(0,i,320,i); } Font f=new Font("Serif",Font.BOLD,18); FontMetrics fm=g_img.getFontMetrics(f); String str="Hellow World!"; g_img.setFont(f); g_img.setColor(Color.cyan); g_img.drawString(str,(320-fm.stringWidth(str))/2,96); } g.drawImage(img,0,0,this); // Image描画 } }