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