import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DynamicIconExample{
public static void main(String args[]){
final JSlider width=new JSlider(JSlider.HORIZONTAL,1,150,75);
final JSlider height=new JSlider(JSlider.VERTICAL,1,150,75);
class DynamicIcon implements Icon{
public int getIconWidth(){return width.getValue();}
public int getIconHeight(){return height.getValue();}
public void paintIcon(Component c,Graphics g,int x,int y){
g.fill3DRect(x,y,getIconWidth(),getIconHeight(),true);
}
}
Icon icon=new DynamicIcon();
final JLabel dynamicLabel=new JLabel(icon);

class Updater implements ChangeListener{
public void stateChanged(ChangeEvent ev){
dynamicLabel.repaint();
}
}
Updater updater=new Updater();
width.addChangeListener(updater);
height.addChangeListener(updater);

JFrame f=new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Container con=f.getContentPane();
con.setLayout(new BorderLayout());
con.add(width,BorderLayout.NORTH);
con.add(height,BorderLayout.WEST);
con.add(dynamicLabel,BorderLayout.CENTER);
f.setSize(210,210);
f.setVisible(true);
}
}运行之后发现错误都在接口方面。
大家帮帮我看看1