日期:2014-05-20 浏览次数:20566 次
/** * */ package Paint.App14_1; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class App14_1 extends JFrame { /** * */ private static final long serialVersionUID = 1L; static JButton jButton1 = new JButton("画圆"); static JButton jButton2 = new JButton("画椭圆"); static Mypanel mypanel = new Mypanel(); static App14_1 jframe = new App14_1(); static int circle = 0; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub jframe.setVisible(true); jframe.setTitle("简单的绘图应用程序"); jframe.setBounds(500, 250, 300, 250); jframe.setLayout(null); jframe.add(mypanel); mypanel.setBounds(0, 0, 300, 250); jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } static class Mypanel extends JPanel implements ActionListener { /** * */ private static final long serialVersionUID = 1L; /** * */ public Mypanel() { // TODO Auto-generated constructor stub add(jButton1); add(jButton2); jButton1.addActionListener(this); jButton2.addActionListener(this); // jButton1.setBounds(50, 180, 80, 25); // jButton2.setBounds(150, 180, 80, 25); } /* * (non-Javadoc) * * @see * java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent * ) */ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub JButton button = (JButton) e.getSource(); if (button == jButton1) circle = 1; else circle = 2; Graphics graphics = this.getGraphics();//把这句注释掉怎么也可以正确运行? repaint(); } public void paintComponent(Graphics g) { super.paintComponent(g); jButton1.setBounds(50, 180, 80, 25); jButton2.setBounds(150, 180, 80, 25); g.setFont(new Font("楷体", Font.ITALIC, 20)); g.setColor(Color.red); g.drawString("画圆或椭圆", 120, 30); if (circle == 1) g.drawOval(100, 70, 70, 70); else if (circle == 2) g.drawOval(80, 40, 70, 120); } } }