/* Kevin Fleming Assignment #20 Due Allows user to browse through housing listings */ import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Rentals extends Applet implements ActionListener, ItemListener { private CheckboxGroup rent; private Checkbox rent1To15, rent15To20, rentPlus, allrent; private Label headerLabel1, headerLabel2, rentLabel, rents, beds, baths, address; private Image logo, picture; private TextField addressText, rent1Text, rent2Text, bedText, bathText; private Font headerFont, plainFont, boldFont; private Button search; private Panel buttonPanel; private Button buttons[]; public String masterAddress[] = { "1691 35th St. NW", "100 O St. NW.", "1029 37th St.", "11 P ST. NW", "1904 N ST. NW", "1208 Resevoir RD. NW", "3466 R ST. NW", "2345 Q ST. NW; APT #6 ", "4102 Foxhall NW", "1209 32nd ST. NW", "3508 Prospect ST. NW", "1459 Dent ST. NW", "2419 T ST. NW", "3456 MacArthur BLVD", "783 P ST. NW", "1287 Prospect ST. NW", "3012 R ST. NW", "1695 34th ST. NW", "1754 33rd ST. NW", "1409 38th ST. NW", "3401 S ST. NW", "1156 36th ST. NW", "1923 37th ST. NW", "1845 38th ST. NW", "3790 Q ST. NW"}; public int masterRent[] = { 1500, 1750, 2250, 1500, 900, 2000, 2500, 500, 2000, 1200, 1800, 1750, 1500, 1250, 1000, 1275, 950, 1000, 2250, 2400, 1850, 1500, 1950, 1150, 800 }, masterBed[] = { 2, 3, 4, 2, 2, 4 , 5, 1, 4, 2, 3, 4, 3, 2, 2, 2, 1, 2, 4, 5, 3, 3, 4, 2, 2}, masterBath[] = { 1, 2, 3, 1, 1, 2, 3, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1}; public static int toggle = 0, temp, rentX, rentout, bedout, bathout; public void init() { setBackground(Color.white); logo = getImage(getDocumentBase(), "homes.jpg"); picture = getImage(getDocumentBase(), "homes.jpg"); headerFont = new Font("Times New Roman", Font.BOLD, 26); plainFont = new Font("Times New Roman", Font.PLAIN, 14); boldFont = new Font("Times New Roman", Font.BOLD, 14); buttonPanel = new Panel(); buttons = new Button[2]; buttonPanel.setLayout(new GridLayout(1, buttons.length)); buttons[0] = new Button("Next House"); buttons[0].addActionListener(this); buttons[1] = new Button("Last House"); buttons[1].addActionListener(this); for(int i = 0; i < buttons.length; i++) buttonPanel.add(buttons[i]); headerLabel1 = new Label("Welcome To GSHA!"); headerLabel2 = new Label("First Let Us Know What You Are Searching For!"); add(headerLabel1); add(headerLabel2); setFont(boldFont); rent = new CheckboxGroup(); rentLabel = new Label("**Click 'SEARCH' after changing rent selection**"); allrent = new Checkbox("All", rent, true); allrent.addItemListener(this); rent1To15 = new Checkbox("$1000 - $1499", rent, false); rent1To15.addItemListener(this); rent15To20 = new Checkbox("$1500 - $2000", rent, false); rent15To20.addItemListener(this); rentPlus = new Checkbox("$2000+", rent, false); rentPlus.addItemListener(this); add(allrent); add(rent1To15); add(rent15To20); add(rentPlus); add(rentLabel); search = new Button("Search For My New Home!"); add(search); search.addActionListener(this); addressText = new TextField(40); rent2Text = new TextField(15); bedText = new TextField(15); bathText = new TextField(15); rents = new Label("Monthly Rent ->"); beds = new Label("Number of Bedrooms ->"); baths = new Label("Number of Bathrooms ->"); add(addressText); add(rents); add(rent2Text); add(baths); add(bathText); add(beds); add(bedText); add(buttonPanel); } public void itemStateChanged(ItemEvent e) { if(e.getSource() == allrent) rentX = 0; else if(e.getSource() == rent1To15) rentX = 1; else if(e.getSource() == rent15To20) rentX = 2; else if(e.getSource() == rentPlus) rentX = 3; } public void paint(Graphics g) { g.drawImage(picture, 122, 295, this); } public void setValue() { rentout = masterRent[toggle]; rent2Text.setText(Integer.toString(rentout)); bedout = masterBed[toggle]; bedText.setText(Integer.toString(bedout)); bathout = masterBath[toggle]; bathText.setText(Integer.toString(bathout)); addressText.setText(masterAddress[toggle]); picture = getImage(getDocumentBase(), toggle + ".gif"); repaint(); } public void actionPerformed(ActionEvent e) { if(e.getSource() == search) { if(rentX == 0) { toggle = 0; setValue(); } if(rentX == 1) { toggle = 0; while(masterRent[toggle] < 1000 || masterRent[toggle] >= 1500) { toggle++; } setValue(); } if(rentX == 2) { toggle = 0; while(masterRent[toggle] < 1500 || masterRent[toggle] >= 2000) { toggle++; } setValue(); } if(rentX == 3) { toggle = 0; while(masterRent[toggle] < 2000) { toggle++; } setValue(); }} if(e.getSource() == buttons[0]) { if(toggle < 24) { if(rentX == 0) { toggle++; setValue(); } if(rentX == 1) { temp = toggle; toggle++; while((masterRent[toggle] < 1000 || masterRent[toggle] >= 1500) && toggle < 24) { toggle++; } if(masterRent[toggle] >= 1000 && masterRent[toggle] < 1500) setValue(); else toggle = temp; } if(rentX == 2) { temp = toggle; toggle++; while((masterRent[toggle] < 1500 || masterRent[toggle] >= 2000) && toggle < 24) { toggle++; } if(masterRent[toggle] >= 1500 && masterRent[toggle] < 2000) setValue(); else toggle = temp; } if(rentX == 3) { temp = toggle; toggle++; while((masterRent[toggle] < 2000) && toggle < 24) { toggle++; } if(masterRent[toggle] >= 2000) setValue(); else toggle = temp; }}} if(e.getSource() == buttons[1]) { if(toggle > 0) { if(rentX == 0) { toggle--; setValue(); } if(rentX == 1) { temp = toggle; toggle--; while((masterRent[toggle] < 1000 || masterRent[toggle] >= 1500) && toggle > 0) { toggle--; } if(masterRent[toggle] >= 1000 && masterRent[toggle] < 1500) setValue(); else toggle = temp; } if(rentX == 2) { temp = toggle; toggle--; while((masterRent[toggle] < 1500 || masterRent[toggle] >= 2000) && toggle > 0) { toggle--; } if(masterRent[toggle] >= 1500 && masterRent[toggle] < 2000) setValue(); else toggle = temp; } if(rentX == 3) { temp = toggle; toggle--; while((masterRent[toggle] < 2000) && toggle > 0) { toggle--; } if(masterRent[toggle] >= 2000) setValue(); else toggle = temp; } } } } }