SymAction lSymAction = new SymAction(); button1.addActionListener(lSymAction);
}
java.awt.Button button1 = new java.awt.Button(); class SymAction implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent event) { Object object = event.getSource(); if (object == button1) button1_ActionPerformed(event); } } void button1_ActionPerformed(java.awt.event.ActionEvent event) { repaint();
} public void paint(Graphics g){ g.drawRect(20, 20, 100, 100); } } // 以下JApplet运行正常 import java.awt.*; import javax.swing.*;/** * A basic extension of the javax.swing.JApplet class */ public class JApplet1 extends JApplet { public void init() {
public void update(Graphics g) {
paint(g);
}
repaint()方法应该写在哪里才能在我移动Panel时调用repaint()?
void myActionListener_actionPerformed(ActionEvent e)
{
repaint(g, x, y, width, height, startAngle, arcAngle, Color.orange);
}
repaint()方法中重载update(),update()中重载paint()
或重载getInsets()返回合适的值。
JApplet的子类要在paint方法中先调用父类的paint
以下Applet运行正常
import java.awt.*;
import java.applet.*;public class Applet1 extends Applet
{
public void init()
{
setLayout(null);
setSize(426,266);
button1.setLabel("draw");
add(button1);
button1.setBackground(java.awt.Color.lightGray);
button1.setBounds(252,48,112,47);
SymAction lSymAction = new SymAction();
button1.addActionListener(lSymAction);
}
java.awt.Button button1 = new java.awt.Button();
class SymAction implements java.awt.event.ActionListener
{
public void actionPerformed(java.awt.event.ActionEvent event)
{
Object object = event.getSource();
if (object == button1)
button1_ActionPerformed(event);
}
} void button1_ActionPerformed(java.awt.event.ActionEvent event)
{
repaint();
}
public void paint(Graphics g){
g.drawRect(20, 20, 100, 100);
}
}
//
以下JApplet运行正常
import java.awt.*;
import javax.swing.*;/**
* A basic extension of the javax.swing.JApplet class
*/
public class JApplet1 extends JApplet
{
public void init()
{
getContentPane().setLayout(null);
setSize(426,266);
JButton1.setText("draw");
getContentPane().add(JButton1);
JButton1.setBounds(300,108,71,46);
//}}
//{{REGISTER_LISTENERS
SymAction lSymAction = new SymAction();
JButton1.addActionListener(lSymAction);
//}}
} //{{DECLARE_CONTROLS
javax.swing.JButton JButton1 = new javax.swing.JButton();
//}} class SymAction implements java.awt.event.ActionListener
{
public void actionPerformed(java.awt.event.ActionEvent event)
{
Object object = event.getSource();
if (object == JButton1)
JButton1_actionPerformed(event);
}
} void JButton1_actionPerformed(java.awt.event.ActionEvent event)
{
repaint();
}
public void paint(Graphics g){
super.paint(g);
g.drawRect(20, 20, 100, 100);
}
}