package test8 ;
import java. awt. * ;
import java. awt. event. * ;
import javax. swing. * ;
public class PaintFigure extends JFrame implements ActionListener {
JPanel jpMain;
int l= 1 ;
final int total= 16 ;
@Override
public void actionPerformed ( ActionEvent e) {
if ( l<= total) {
jpMain. add ( new Triangle ( ) ) ;
jpMain. repaint ( ) ;
jpMain. validate ( ) ;
l++ ;
}
}
class MouseHandler extends MouseAdapter {
public void mouseClicked ( MouseEvent e) {
if ( l<= total) {
jpMain. add ( new Triangle ( ) ) ;
jpMain. repaint ( ) ;
jpMain. validate ( ) ;
l++ ;
}
}
}
public PaintFigure ( ) {
JPanel jpNorth= new JPanel ( ) ;
JButton jbtnT= new JButton ( "画三角形" ) ;
JLabel jlblT= new JLabel ( "画三角形" ) ;
jpNorth. add ( jbtnT) ;
jpNorth. add ( jlblT) ;
jbtnT. addActionListener ( this ) ;
jlblT. addMouseListener ( new MouseHandler ( ) ) ;
jpMain= new JPanel ( ) ;
jpMain. setLayout ( new GridLayout ( 4 , 4 ) ) ;
Container con= this . getContentPane ( ) ;
con. add ( jpMain) ;
con. add ( jpNorth, BorderLayout . NORTH) ;
this . setSize ( 500 , 500 ) ;
this . setVisible ( true ) ;
this . setLocationRelativeTo ( null ) ;
this . setDefaultCloseOperation ( JFrame . EXIT_ON_CLOSE) ;
}
public static void main ( String [ ] args) {
PaintFigure pf= new PaintFigure ( ) ;
}
}
package test8 ;
import java. awt. * ;
import javax. swing. * ;
public class Rectangles extends JPanel {
public void paintComponent ( Graphics g) {
int height= this . getSize ( ) . height;
int width= this . getSize ( ) . width;
g. setColor ( Color . yellow) ;
g. fillRect ( 0 , 0 , width, height) ;
}
}