Public feed #892559

Unnamed

public text v1 · immutable
Raw Edit
·published 2008-02-05 15:13 UTC
rendered paste body
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class DigitPanel extends JPanel
{

int drawDigit;

    public DigitPanel(int number)
    {
        this.drawDigit = number;
        this.setPreferredSize(new Dimension(80,80));
    }//end constructor
    
    public void paintComponent(Graphics g)
    {
         super.paintComponent(g);
     Graphics2D g2d = (Graphics2D)g;
     //Change line thickness
     g2d.setStroke(new BasicStroke(8));
     // antialiasing on
    RenderingHints renderHints =
    new RenderingHints(RenderingHints.KEY_ANTIALIASING,
    RenderingHints.VALUE_ANTIALIAS_ON);
    renderHints.put(RenderingHints.KEY_RENDERING,
    RenderingHints.VALUE_RENDER_QUALITY);
    g2d.setRenderingHints(renderHints);
    // end of antialiasing 
    
        switch(drawDigit)
        {
            case 1:
            {
                drawElement(g2d,1);
                drawElement(g2d,2);
            return;
            }
            
            case 2:
            {
                drawElement(g2d,5);
                drawElement(g2d,3);
                drawElement(g2d,6);
                drawElement(g2d,2);
                drawElement(g2d,7);
                
            return;
            }
            
            case 3:
            {
                drawElement(g2d,5);
                drawElement(g2d,3);
                drawElement(g2d,6);
                drawElement(g2d,4);
                drawElement(g2d,7);
                
            return;
            }
            
            case 4:
            {
                drawElement(g2d,1);
                drawElement(g2d,6);
                drawElement(g2d,3);
                drawElement(g2d,4);                               
            return;
            }
            
            case 5:
            {
                drawElement(g2d,5);
                drawElement(g2d,1);
                drawElement(g2d,6);
                drawElement(g2d,4); 
                drawElement(g2d,7);   
            return;
            }
            
            case 6:
            {
                drawElement(g2d,5);
                drawElement(g2d,1);
                drawElement(g2d,2);
                drawElement(g2d,7); 
                drawElement(g2d,4);
                drawElement(g2d,6);   
            return;
            }
            
            case 7:
            {
                drawElement(g2d,5);
                drawElement(g2d,3);
                drawElement(g2d,4); 
            return;
            }
            
            case 8:
            {
                drawElement(g2d,1);
                drawElement(g2d,2);
                drawElement(g2d,3);
                drawElement(g2d,4);
                drawElement(g2d,5);
                drawElement(g2d,6);
                drawElement(g2d,7);                
            return;
            }
            
            case 9:
            {
                drawElement(g2d,5);
                drawElement(g2d,1);
                drawElement(g2d,6);
                drawElement(g2d,3);
                drawElement(g2d,4);
                drawElement(g2d,7);             
            return;
            }
            
            case 0:
            {
                drawElement(g2d,1);
                drawElement(g2d,2);
                drawElement(g2d,5);
                drawElement(g2d,3);
                drawElement(g2d,4);
                drawElement(g2d,7);             
            return;
            }
            
       
        }
    }//End of paint component
     
    
    //Draws an individual element of a digit
    /*     __ 5
     *  1 |  | 3
     *     -- 6
     * 2 |  | 4
     * 
     *     -- 7
     *      
     */
     public void drawElement(Graphics g, int digit)
     {
             switch(digit)
        {
            //Vertical left top
            case 1:
            {
                g.drawLine(5,0,5,32);
                return;
            }
            
            //Vertical left bottom
            case 2:
            {
                g.drawLine(5,44,5,82);
                return;
            }
            
            //Vertical right top
             case 3:
            {
                g.drawLine(50,0,50,32);
                return;
            }
            
            //Vertical right bottom
            case 4:
            {
                g.drawLine(50,44,50,82);
                return;
            }
            
            //Horizontal top
            case 5:
            {
                g.drawLine(16,4,38,4);
                return;
            }
            
            //Horizontal middle
            case 6:
            {
                g.drawLine(16,40,38,40);
                return;
            }
            
            //Horizontal bottom
            case 7:
            {
                g.drawLine(16,75,38,75);
                return;
            }
        }
        
     }//End drawElement method
     
     //public int getDigits(String in)
    // {
         
    // }
        
    
}//end DigitPanel class