View Single Post
  #7 (permalink)  
Old 11-05-2007, 12:40 AM
adlb1300 adlb1300 is offline
Member
 
Join Date: Jul 2007
Posts: 46
adlb1300 is on a distinguished road
JavaBean,

Thanks for the tip. I've added in an ArrayList and added code so I can see the output after each entry asking for the size of the ArrayList and the contents of it. Each time I add data I keep getting a size of 1 and only the most recent element. It is the same even if I call to a particular index value. I also tried specifing the capacity of the array and still the same result. Any thoughts on what 'm doing wrong?

Code:
import java.awt.event.*; import java.awt.*; import javax.swing.*; import java.util.ArrayList; public class FlightInterface implements ActionListener { JButton exitButton; JButton getDataButton; JButton clearButton; JButton searchButton; JTextField destinationField; JTextField nameInputField; JTextField flightNumField; JTextField originField; ArrayList<String> airlineArray; ArrayList<String> flightNumArray; ArrayList<String> originArray; ArrayList<String> destinationArray; private JPanel getContent() { JLabel title = new JLabel("Flight Info"); title.setFont(new Font("Serif", Font.BOLD, 30)); JPanel bannerPanel = new JPanel(); bannerPanel.setPreferredSize(new Dimension(300, 50)); bannerPanel.add(title); nameInputField = new JTextField(10); JLabel inputAirlineName = new JLabel("Airline Name: "); inputAirlineName.setFont(new Font("Serif", Font.PLAIN, 14)); JPanel namePanel = new JPanel(); namePanel.setLayout(new BoxLayout(namePanel, BoxLayout.X_AXIS)); namePanel.setPreferredSize(new Dimension(200, 20)); namePanel.add(inputAirlineName); namePanel.add(nameInputField); JLabel inputFlightNum = new JLabel("Flight Number: "); inputFlightNum.setFont(new Font("Serif", Font.PLAIN, 14)); flightNumField = new JTextField(10); JPanel flightNumPanel = new JPanel(); flightNumPanel.setLayout(new BoxLayout(flightNumPanel, BoxLayout.X_AXIS)); flightNumPanel.setPreferredSize(new Dimension(200, 20)); flightNumPanel.add(inputFlightNum); flightNumPanel.add(flightNumField); JLabel inputOrigin = new JLabel("City of Origin: "); inputOrigin.setFont(new Font("Serif", Font.PLAIN, 14)); originField = new JTextField(20); JPanel originPanel = new JPanel(); originPanel.setLayout(new BoxLayout(originPanel, BoxLayout.X_AXIS)); originPanel.setPreferredSize(new Dimension(200, 20)); originPanel.add(inputOrigin); originPanel.add(originField); JLabel inputDestination = new JLabel("Destination City: "); inputDestination.setFont(new Font("Serif", Font.PLAIN, 14)); destinationField = new JTextField(20); JPanel destinationPanel = new JPanel(); destinationPanel.setLayout(new BoxLayout(destinationPanel, BoxLayout.X_AXIS)); destinationPanel.setPreferredSize(new Dimension(200, 20)); destinationPanel.add(inputDestination); destinationPanel.add(destinationField); JPanel blankPanel = new JPanel(); blankPanel.setLayout(new BoxLayout(blankPanel, BoxLayout.X_AXIS)); blankPanel.setPreferredSize(new Dimension(200, 20)); getDataButton = new JButton("Get Data"); getDataButton.setFont(new Font("Serif", Font.PLAIN, 14)); exitButton = new JButton("Exit"); exitButton.setFont(new Font("Serif", Font.PLAIN, 14)); searchButton = new JButton("Search"); searchButton.setFont(new Font("Serif", Font.PLAIN, 14)); clearButton = new JButton("Clear"); clearButton.setFont(new Font("Serif", Font.PLAIN, 14)); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS)); buttonPanel.add(getDataButton); buttonPanel.add(clearButton); buttonPanel.add(searchButton); buttonPanel.add(exitButton); getDataButton.addActionListener(this); clearButton.addActionListener(this); searchButton.addActionListener(this); exitButton.addActionListener(this); JPanel mainPanel = new JPanel(); System.out.println("JPanel default layout manager = " + mainPanel.getLayout().getClass().getName()); mainPanel.add(bannerPanel, BorderLayout.NORTH); mainPanel.add(namePanel, BorderLayout.CENTER); mainPanel.add(flightNumPanel, BorderLayout.CENTER); mainPanel.add(originPanel, BorderLayout.CENTER); mainPanel.add(destinationPanel, BorderLayout.CENTER); mainPanel.add(blankPanel, BorderLayout.CENTER); mainPanel.add(buttonPanel, BorderLayout.SOUTH); return mainPanel; } public void actionPerformed(ActionEvent ae){ if(ae.getSource() == getDataButton){ String airline = nameInputField.getText(); String flightNumber = flightNumField.getText(); String origin = originField.getText(); String destination = destinationField.getText(); nameInputField.setText(""); flightNumField.setText(""); originField.setText(""); destinationField.setText(""); airlineArray = new ArrayList<String>(); airlineArray.add(airline); flightNumArray = new ArrayList<String>(); flightNumArray.add(flightNumber); originArray = new ArrayList<String>(); originArray.add(origin); destinationArray = new ArrayList<String>(); destinationArray.add(destination); JOptionPane.showMessageDialog(null, "Flight data added."); } if(ae.getSource() == clearButton){ nameInputField.setText(""); flightNumField.setText(""); originField.setText(""); destinationField.setText(""); } if(ae.getSource() == searchButton){ Search sf = new Search(); sf.searchApp(); } if(ae.getSource() == exitButton){ System.exit(0); } } public static void main(String[] args) { // Using the variable "app" will help avoid problems // with the static modifier in your class. FlightInterface app = new FlightInterface(); JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(app.getContent()); f.setSize(300, 265); // sets size of JFrame f.setLocation(200, 200); // sets location of JFrame f.setVisible(true); // makes JFrame visible } // end main }
Reply With Quote