Friday, May 21, 2010

How do i display a user time in a 7 segment diplay using java?

I need help on finding a code that displays the time in a seven segment display.

How do i display a user time in a 7 segment diplay using java?
Display one digit at a time. You could create "display segment" objects and translate them horizontally as needed or initialize all the possible segments (like a real display) and turn on (i.e. make visible) the segments needed at that moment. You'll probably want to consider Java 2D drawing primitives.





It depends how fancy you want it to display such as:


private Rectangle topRectangle = new Rectangle(23, 10, 66, 20); // or fillRect()


private Rectangle leftTopRectangle = new Rectangle(0, 13, 20, 76);


private Rectangle leftBottomRectangle = new Rectangle(0, 92, 20, 76);


private Rectangle bottomRectangle = new Rectangle(23, 151, 66, 20);


private Rectangle rightBottomRectangle = new Rectangle(92, 92, 20, 76);


private Rectangle rightTopRectangle = new Rectangle(92, 13, 20, 76);


private Rectangle midRectangle = new Rectangle(23, 82, 66, 20);





You can code your digits displays such as:


void displayzero()


{


topRectangle.setVisible(true);


leftTopRectangle.setVisible(true);


midRectangle.setVisible(false);


leftBottomRectangle.setVisible(true);


bottomRectangle.setVisible(true);


rightTopRectangle.setVisible(true);


rightBottomRectangle.setVisible(true);


}


void displayone()


{


topRectangle.setVisible(false);


leftTopRectangle.setVisible(false);


midRectangle.setVisible(false);


leftBottomRectangle.setVisible(false);


bottomRectangle.setVisible(false);


rightTopRectangle.setVisible(true);


rightBottomRectangle.setVisible(true);


}


void displaytwo()


{


topRectangle.setVisible(true);


leftTopRectangle.setVisible(false);


midRectangle.setVisible(true);


leftBottomRectangle.setVisible(true);


bottomRectangle.setVisible(true);


rightTopRectangle.setVisible(true);


rightBottomRectangle.setVisible(false)...


}


void displaythree()


{


topRectangle.setVisible(true);


leftTopRectangle.setVisible(false);


midRectangle.setVisible(true);


leftBottomRectangle.setVisible(false);


bottomRectangle.setVisible(true);


rightTopRectangle.setVisible(true);


rightBottomRectangle.setVisible(true);


}


void displayfour()


{


topRectangle.setVisible(false);


leftTopRectangle.setVisible(true);


midRectangle.setVisible(true);


leftBottomRectangle.setVisible(false);


bottomRectangle.setVisible(false);


rightTopRectangle.setVisible(true);


rightBottomRectangle.setVisible(true);


}


void displayfive()


{


topRectangle.setVisible(true);


leftTopRectangle.setVisible(true);


midRectangle.setVisible(true);


leftBottomRectangle.setVisible(false);


bottomRectangle.setVisible(true);


rightTopRectangle.setVisible(false);


rightBottomRectangle.setVisible(true);


}


void displaysix()


{


topRectangle.setVisible(true);


leftTopRectangle.setVisible(true);


midRectangle.setVisible(true);


leftBottomRectangle.setVisible(true);


bottomRectangle.setVisible(true);


rightTopRectangle.setVisible(false);


rightBottomRectangle.setVisible(true);


}


void displayseven()


{


topRectangle.setVisible(true);


leftTopRectangle.setVisible(false);


midRectangle.setVisible(false);


leftBottomRectangle.setVisible(false);


bottomRectangle.setVisible(false);


rightTopRectangle.setVisible(true);


rightBottomRectangle.setVisible(true);


}


void displayeight()


{


topRectangle.setVisible(true);


leftTopRectangle.setVisible(true);


midRectangle.setVisible(true);


leftBottomRectangle.setVisible(true);


bottomRectangle.setVisible(true);


rightTopRectangle.setVisible(true);


rightBottomRectangle.setVisible(true);


}


void displaynine()


{


topRectangle.setVisible(true);


leftTopRectangle.setVisible(true);


midRectangle.setVisible(true);


leftBottomRectangle.setVisible(false);


bottomRectangle.setVisible(true);


rightTopRectangle.setVisible(true);


rightBottomRectangle.setVisible(true);


}








With an AWT Java Applet, you must have the import statements at the top of the source code, then class definition and followed by any methods.





import java.awt.*;


import java.applet.*;


import java.text.SimpleDateFormat;


import java.util.Date;


import java.util.Calendar;


public class ledApplet extends Applet {


private long timer; // millisecond timer


public void paint(Graphics g) {


timer = System.currentTimeMillis(); // get current clock


g.setColor(Color.black);


g.fillRect(92, 13, 20, 76); // draw #1 part 1of2


g.fillRect(92, 92, 20, 76); // draw #1 part 2of2


timer = System.currentTimeMillis() - timer; // drawing time measure


} }





If your plan is to avoid JFC Swing but use Graphics2D in a Java Applet, below is some sample code:





import java.awt.*;


import java.applet.*;


import java.awt.geom.*;


import java.text.SimpleDateFormat;


import java.util.Date;


import java.util.Calendar;


public class ledApplet extends Applet {


private GradientPaint gradient; // Graphics2D gradient colors


//the drawings of my digital like numbers in rectangle form


private Rectangle topRectangle = new Rectangle(23, 10, 66, 20);


private Rectangle leftTopRectangle = new Rectangle(0, 13, 20, 76);


private Rectangle leftBottomRectangle = new Rectangle(0, 92, 20, 76);


private Rectangle bottomRectangle = new Rectangle(23, 151, 66, 20);


private Rectangle rightBottomRectangle = new Rectangle(92, 92, 20, 76);


private Rectangle rightTopRectangle = new Rectangle(92, 13, 20, 76);


private Rectangle midRectangle = new Rectangle(23, 82, 66, 20);


public void paint(Graphics g) {


Graphics2D g2D = (Graphics2D) g; // cast to 2D


g2D.setBackground(Color.white);


gradient=new GradientPaint(30,50,Color.blue,100,100,C...


g2D.setPaint(gradient);


g2D.fill(rightTopRectangle); // draw #1 part 1of2


g2D.fill(rightBottomRectangle); // draw #1 part 2of2


} }





As a larger Graphics2D LED example:





import java.awt.*;


import java.applet.*;


import java.awt.geom.*;


import java.text.SimpleDateFormat;


import java.util.Date;


import java.util.Calendar;


public class ledApplet extends Applet {


private GradientPaint gradient;


//the drawings of my digital like numbers in rectangle form


private Rectangle topRectangle = new Rectangle(23, 10, 66, 20);


private Rectangle leftTopRectangle = new Rectangle(0, 13, 20, 76);


private Rectangle leftBottomRectangle = new Rectangle(0, 92, 20, 76);


private Rectangle bottomRectangle = new Rectangle(23, 151, 66, 20);


private Rectangle rightBottomRectangle = new Rectangle(92, 92, 20, 76);


private Rectangle rightTopRectangle = new Rectangle(92, 13, 20, 76);


private Rectangle midRectangle = new Rectangle(23, 82, 66, 20);


void displayzero(Graphics2D g2D)


{


g2D.draw(topRectangle);


g2D.draw(leftTopRectangle);


g2D.draw(leftBottomRectangle);


g2D.draw(bottomRectangle);


g2D.draw(rightTopRectangle);


g2D.draw(rightBottomRectangle);


}


void displayone(Graphics2D g2D)


{


g2D.draw(rightTopRectangle);


g2D.draw(rightBottomRectangle);


}


void displaytwo(Graphics2D g2D)


{


g2D.draw(topRectangle);


g2D.draw(midRectangle);


g2D.draw(leftBottomRectangle);


g2D.draw(bottomRectangle);


g2D.draw(rightTopRectangle);


}


void displaythree(Graphics2D g2D)


{


g2D.draw(topRectangle);


g2D.draw(midRectangle);


g2D.draw(bottomRectangle);


g2D.draw(rightTopRectangle);


g2D.draw(rightBottomRectangle);


}


void displayfour(Graphics2D g2D)


{


g2D.draw(leftTopRectangle);


g2D.draw(midRectangle);


g2D.draw(rightTopRectangle);


g2D.draw(rightBottomRectangle);


}


void displayfive(Graphics2D g2D)


{


g2D.draw(topRectangle);


g2D.draw(leftTopRectangle);


g2D.draw(midRectangle);


g2D.draw(bottomRectangle);


g2D.draw(rightBottomRectangle);


}


void displaysix(Graphics2D g2D)


{


g2D.draw(topRectangle);


g2D.draw(leftTopRectangle);


g2D.draw(midRectangle);


g2D.draw(leftBottomRectangle);


g2D.draw(bottomRectangle);


g2D.draw(rightBottomRectangle);


}


void displayseven(Graphics2D g2D)


{


g2D.draw(topRectangle);


g2D.draw(rightTopRectangle);


g2D.draw(rightBottomRectangle);


}


void displayeight(Graphics2D g2D)


{


g2D.draw(topRectangle);


g2D.draw(leftTopRectangle);


g2D.draw(midRectangle);


g2D.draw(leftBottomRectangle);


g2D.draw(bottomRectangle);


g2D.draw(rightTopRectangle);


g2D.draw(rightBottomRectangle);


}


void displaynine(Graphics2D g2D)


{


g2D.draw(topRectangle);


g2D.draw(leftTopRectangle);


g2D.draw(midRectangle);


g2D.draw(bottomRectangle);


g2D.draw(rightTopRectangle);


g2D.draw(rightBottomRectangle);


}


public void paint(Graphics g) {


Graphics2D g2D = (Graphics2D) g; // cast to 2D


g2D.setBackground(Color.white);


gradient=new GradientPaint(30,50,Color.blue,100,100,C...


g2D.setPaint(gradient);


displayeight(g2D); // draw #8


} }

tomato plants

No comments:

Post a Comment