No, you will need to do larger refactoring to make this work.
Clock clock1;
Time tempClock1;
Time elapsed1 = clock1.restart();
You are now recreating your clock every loop and then immediately checking how much time has passed by calling restart. Almost no time will have passed between constructing the clock and checking it. You are also no longer accumulating time, but just getting a single time value and then starting over next loop. This will never equal 4 seconds.
Instead of trying to use 2 clocks in this manner, why not just use one clock and another variable to keep track of what "state" you are in. Use that state variable to determine what you should be drawing. My psuedo code below is just to demonstrate what I'm talking about. In reality you probably want to use something better than just a number to represent state.
if state == 0 then draw nothing
if state == 1 then draw first text
if state == 2 then draw second text
and then elsewhere you would have
if 4 seconds have elapsed and in state 0
Change to state 1. Reset your time accumulator variable to 0.
if 4 seconds have elapsed and in state 1
change to state 2