Here is the code for the word form. I thought I would give it to you to save a little time. I have not given you the word class or the TechnicalDictionary class. We will do them together.
package com.spconger.TechDictionary; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import javax.swing.DefaultListModel; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextField; public class WordForm { private JFrame frame; private JPanel borderPanel; private JPanel newWordPanel; private JPanel buttonPanel; private JScrollPane scrollPane; private JListwordList; private JLabel wordPrompt; private JTextField wordText; private JLabel defPrompt; private JTextField defText; private JButton addButton; private JButton getWordsButton; private JButton exitButton; private TechnicalDictionary tech; public WordForm(){ createFrame(); tech = new TechnicalDictionary(); } private void createFrame(){ frame = new JFrame(); frame.setBounds(100, 100, 300, 300); frame.add(createBorderPanel()); frame.setVisible(true); } private JPanel createBorderPanel(){ borderPanel = new JPanel(); borderPanel.setLayout(new BorderLayout()); borderPanel.add(createNewWordPanel(), BorderLayout.NORTH); borderPanel.add(createScrollPane(),BorderLayout.CENTER); borderPanel.add(createButtonPanel(), BorderLayout.SOUTH); return borderPanel; } private JPanel createNewWordPanel(){ newWordPanel = new JPanel(); newWordPanel.setLayout(new GridLayout(2,2)); wordPrompt=new JLabel("Enter Word"); wordText = new JTextField(); defPrompt = new JLabel("Enter Definition"); defText = new JTextField(); newWordPanel.add(wordPrompt); newWordPanel.add(wordText); newWordPanel.add(defPrompt); newWordPanel.add(defText); return newWordPanel; } private JScrollPane createScrollPane(){ wordList = new JList (); //add the selection listener to the list //wordlist.addListSelectionListener(new SelectionListener()); scrollPane = new JScrollPane(wordList); scrollPane.setBounds(20, 20, 100, 200); return scrollPane; } private JPanel createButtonPanel(){ buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout()); addButton = new JButton("Add Word"); addButton.addActionListener(new AddButtonListener()); getWordsButton = new JButton("Get Words"); getWordsButton.addActionListener(new GetWordsListener()); exitButton = new JButton("Exit"); exitButton.addActionListener(new ExitListener()); buttonPanel.add(addButton); buttonPanel.add(getWordsButton); buttonPanel.add(exitButton); return buttonPanel; } private class AddButtonListener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { Word w = new Word(); w.setWord(wordText.getText()); w.setDefinition(defText.getText()); tech.addWord(w); wordText.setText(""); defText.setText(""); } } private class GetWordsListener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { ArrayList words = tech.getWords(); DefaultListModel model = new DefaultListModel (); for(Word w: words){ model.addElement(w.toString()); } wordList.setModel(model); } } private class ExitListener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { System.exit(0); } } }
This comment has been removed by the author.
ReplyDeleteHey Steve,
ReplyDeleteCould you comment your code more? It helps me in a step-by-step manner.
-MM