Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!t8g2000prm.googlegroups.com!not-for-mail From: Chad Newsgroups: comp.lang.java.programmer Subject: A question about some long java code that has getters/setters Date: Fri, 22 Jul 2011 16:12:27 -0700 (PDT) Organization: http://groups.google.com Lines: 148 Message-ID: NNTP-Posting-Host: 66.81.50.100 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1311376448 27329 127.0.0.1 (22 Jul 2011 23:14:08 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 22 Jul 2011 23:14:08 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: t8g2000prm.googlegroups.com; posting-host=66.81.50.100; posting-account=kTs1ygoAAACgG1TSoyECpovEyy-V6_8b User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-Header-Order: ARLUEHNKC X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.2),gzip(gfe) Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:6434 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? Chad