Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


Question 5 [15]
Consider the following classes, illustrating the Strategy
design pattern:
import java.awt.*;
abstract class Text {
protected TextApplet tA;
protected Text(TextApplet tApplet) {
tA = tApplet;
}
abstract public void draw(Graphics g);
}
class PlainText extends Text {
protected PlainText(TextApplet tApplet) {
super(tApplet);
}
public void draw(Graphics g) {
g.setColor(tA.getColor());
g.setFont(new Font("Sans-serif", Font.PLAIN, 12));
g.drawString(tA.getText(), 20, 20);
}
}
class CodeText extends Text {
protected CodeText(TextApplet tApplet) {
super(tApplet);
}
public void draw(Graphics g) {
g.setColor(tA.getColor());
g.setFont(new Font("Monospaced", Font.PLAIN, 12));
g.drawString(tA.getText(), 20, 20);
}
}
public class TextApplet extends java.applet.Applet {
protected Text text;
protected String textVal;
protected Color color;
public String getText() {
return textVal;
}
public Color getColor() {
return color;
}
public void init() {
textVal = getParameter("text");
String textStyle = getParameter("style");
String textColor = getParameter("color");
if (textStyle == "code")
text = new CodeText(this);
else
text = new PlainText(this);
if (textColor == "red")
color = Color.RED;
else if (textColor == "blue")
color = Color.BLUE;
else
color = Color.BLACK;
}
public void paint(Graphics g) {
text.draw(g);
10
}
}
The Text class is more complicated than it should be (there
is too much coupling between the
Text and TextApplet classes). By getting rid of the
reference to a TextApplet object in the
Text class and setting the colour in the paint() method,
one could turn the Text class into an
interface and simplify the strategy classes considerably.
5.1 Rewrite the Text and PlainText classes to do what is
described above. (6)
5.2 Explain the consequent changes that are necessary to
the TextApplet class. (4)
5.3 Write an additional strategy class called FancyText (to
go with your simplified
strategy classes) to allow fancy text to be displayed for
the value "fancy" provided
for the style parameter. It should use the font Font
("Serif", Font.ITALIC, 12).
(3)
5.4 Explain what changes are necessary to the TextApplet
class for this. (2)


No Answer is Posted For this Question
Be the First to Post Answer

Post New Answer

More Core Java Interview Questions

What is bool mean?

0 Answers  


Difference between a process and a program?

0 Answers   Infosys,


What class allows you to read objects directly from a stream?

0 Answers  


what methods would you overwrite in java.lang.object class?

0 Answers  


How can we make sure main() is the last thread to finish in java program?

0 Answers  


Why heap memory is called heap?

0 Answers  


Have you worked on bits programming? examples?What is bit? How many bits are there in the byte?

1 Answers  


What is java ceil?

0 Answers  


how to connect two diffrent applet files

0 Answers  


What is javac_g?

0 Answers  


what is the difference between ArrayList and Vector

19 Answers   KPIT, Sasken, Satyam, Span Infotech, Wipro,


How do you define a variable?

0 Answers  


Categories