• 締切済み

アプレットを再描画させたい

アプレットを作りましたが、ウィンドウの大きさを変えた時にも描いたオブジェクトをrepaintを使って再描画させるのは どのようにすればよいのでしょうか。 _______________________________ public class QQ_Oekaki extends Applet implements ActionListener { Graphics g; Color col; int w; int h; Button btnBlue; Button btnYellow; public void init() { g = getGraphics(); btnBlue = new Button("Blue"); this.add(btnBlue); btnBlue.addActionListener(this); btnBlue.setFont(new Font("SansSerif", Font.ITALIC, 10)); btnBlue.setForeground(Color.blue); btnYellow = new Button("Yellow"); this.add(btnYellow); btnYellow.addActionListener(this); btnYellow.setFont(new Font("SansSerif", Font.ITALIC, 10)); btnYellow.setForeground(Color.yellow); this.addMouseMotionListener ( new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { int x = e.getX(); int y = e.getY(); g.setColor(Color.green); g.setColor(col); g.fillRect(x,y,5,5); } } ); } public void actionPerformed(ActionEvent ae) { if (ae.getActionCommand()=="Yellow") { col = Color.yellow; } if (ae.getActionCommand()=="Blue") { col = Color.BLUE; } } }

みんなの回答

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

質問の意味がよく分からないので、質問にはお答えしません。それ以前に、アプレットの基本形/標準形を勉強してください。以下のアプレットをコンパイルし、動かしてみてください。参考URLは、http://を略します。 ------------------------------------------------------ /* save and compile as QQ */ /* <applet code="QQ" width="400" height="400"></applet> */ import java.applet.*; import java.awt.*; import java.awt.event.*; public class QQ extends Applet implements ActionListener{ Color col; int ox, oy, nx, ny; Button btnBlue; Button btnYellow; public void init(){ col = Color.lightGray; //ボタンが押される前の描画色 setBackground(Color.darkGray); btnBlue = new Button("Blue"); add(btnBlue); btnBlue.addActionListener(this); btnBlue.setFont(new Font("SansSerif", Font.ITALIC, 10)); btnBlue.setForeground(Color.blue); btnYellow = new Button("Yellow"); add(btnYellow); btnYellow.addActionListener(this); btnYellow.setFont(new Font("SansSerif", Font.ITALIC, 10)); btnYellow.setForeground(Color.yellow); addMouseMotionListener(new MouseMotionAdapter(){ public void mouseDragged(MouseEvent e){ ox = nx; oy = ny; nx = e.getX(); ny = e.getY(); QQ.this.repaint(); } }); addMouseListener(new MouseAdapter(){ public void mousePressed(MouseEvent e){ ox = nx = e.getX(); oy = ny = e.getY(); QQ.this.repaint(); } }); } public void update(Graphics g){ //背景塗りつぶしを抑止する(連続描画のため) g.setColor(col); paint(g); } public void paint(Graphics g){ g.drawLine(ox, oy, nx, ny); } public void actionPerformed(ActionEvent ae){ if (ae.getActionCommand()=="Yellow"){ col = Color.yellow; } else if (ae.getActionCommand()=="Blue"){ col = Color.BLUE; } QQ.this.repaint(); } } --------------------------------------------------

参考URL:
java.sun.com/docs/books/tutorial/uiswing/components/applet.html, java.sun.com/docs/books/tutorial/deployment/applet/
すると、全ての回答が全文表示されます。
このQ&Aのポイント
  • 「いきなりPDF ver.11 standard」ダウンロード版を購入したが、インストールできない状況になった。
  • IKIP11はダウンロードできたが、programホルダーにインストールする.exeがなく、いきなりPDFがインストールされていない。
  • インストール作業中に画面が停止し、インストールが進まない状況が続いている。
回答を見る