Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Spring Framework | Web Services | BioInformatics | Java Server Faces | Jboss 3.0 tutorial | Hibernate 3.0 | XML
 
 
Hot Web Programming Job

 

Tutorial Categories: Ajax | Articles | JSP | Bioinformatics | Database | Free Books | Hibernate | J2EE | J2ME | Java | JavaScript | JDBC | JMS | Linux | MS Technology | PHP | RMI | Web-Services | Servlets | Struts | UML


 

Java Tutorials

Core Java
JSP
Servlet
JDBC
Hibernate
Struts 1
Struts 2
JSF
Spring
J2EE
J2ME
Web Services
Ajax
Dojo
MySQL
Latest Comments
Contents are not d
Please Use JAVA no
hidden tag in orku
Getting good knowl
Why the output on
  All Comments...
 

 

 
Struts Tutorials
*Stuts TOC
*Apache Struts Introduction
* Struts Controller
* Struts Action Class
* Struts ActionFrom Class
* Using Struts HTML Tags
*Struts Validator Framework    
*Client Side Address Validation    
*Struts Tiles
*tiles-defs.xml
*Struts DynaActionForm
*Struts File Upload
*Struts DataSource
*AGGREGATING ACTIONS
*Internationalization
Struts Resources
*Struts Books
*Struts Articles
*Struts Frameworks
*Struts IDE
*Struts Alternative
*Struts Links
*Struts Presentations
*Struts Projects
*Struts Software
*Struts Reference
*Struts Resources
*Other Struts Tutorial
Visit Forum! Post Questions!
Jobs At RoseIndia.net!

Have tutorials?
Add your tutorial to our Java Resource and get tons of hits.

We offer free hosting for your tutorials. and exposure for thousands of readers. drop a mail
roseindia_net@yahoo.com
 
   

 
Join For Newsletter

Powered by groups.yahoo.com
Visit Group! Post Questions!

Java Notes: Example - Read Words

The program below reads a text file and lists the words alphabetically.

GUI interface and model

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
 35 
 36 
 37 
 38 
 39 
 40 
 41 
 42 
 43 
 44 
 45 
 46 
 47 
 48 
 49 
 50 
 51 
 52 
 53 
 54 
 55 
 56 
 57 
 58 
 59 
 60 
 61 
 62 
 63 
// File   : readwords/ReadWordsGUI.java
// Purpose: Read a file and display all words in it.
// Author : Fred Swartz
// Date   : 2005-03-10

package readwords;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;

class ReadWordsGUI extends JPanel {
    
    //... Instance variables
    JTextArea    m_wordListTA  = new JTextArea(25, 15);
    JFileChooser m_fileChooser = new JFileChooser();
    
    ArrayList<String> m_words = new ArrayList<String>();
    
    //======================================================== constructor
    ReadWordsGUI() {
        JButton openButton = new JButton("Open");
        
        //... Add listeners
        openButton.addActionListener(new OpenAction());
        
        //... Layout components
        this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
        this.add(openButton);
        this.add(new JScrollPane(m_wordListTA));
    }
    
    /////////////////////////////////////////////////// inner listener class
    class OpenAction implements ActionListener {
        public void actionPerformed(ActionEvent ae) {
            int retval = m_fileChooser.showOpenDialog(ReadWordsGUI.this);
            if (retval == JFileChooser.APPROVE_OPTION) {
                File file = m_fileChooser.getSelectedFile();
                try {
                    Scanner wordScanner = new Scanner(file);
                    wordScanner.useDelimiter("[^A-Za-z]+");
                    while (wordScanner.hasNext()) {
                        m_words.add(wordScanner.next());
                    }
                    
                    //... Sort the words alphabetically.
                    Collections.sort(m_words);
                    
                    //... Clear the text area and add words.
                    m_wordListTA.setText("");
                    for (String w : m_words) {
                        m_wordListTA.append(w);
                        m_wordListTA.append("\n");
                    }
                } catch (FileNotFoundException fnfex) {
                    System.out.println("Impossible?");
                }
            }
        }
    }
}

The standard main program

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
// File   : readwords/ReadWord.java
// Purpose: Read a file and display all words in it.
// Author : Fred Swartz
// Date   : 2005-03-10

package readwords;

import javax.swing.*;

public class ReadWords {
    public static void main(String[] args) {
        JFrame window = new JFrame("Read Words");
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setContentPane(new ReadWordsGUI());
        window.pack();
        window.setVisible(true);
    }
}

Programming Problem

Sort buttons. Add two buttons to this user interface. One of them will sort the words alphabetically (as is currently done), and the other will sort the words by length. The GUI will then have three buttons and the text area. You might want to choose a different layout.

Comparator. Because Strings have a natural alphabetic sorting order, the Collections.sort() method doesn't need a Comparator for alphabetizing words. Sorting by word length will require writing a simple Comparator. Implementing the Comparator interface means defining the int compare method which compares two objects and returns a value less than zero if the first is less than the second, zero if they are equal, and a number greater than zero if the second is greater than the first.

Loops. The current code uses the Java 5 for loop for going over the list of words and adding them to the text area. The button listeners will have to do something similar. However, for practice, write each of the loops using a different technique (one using an index, and one using an Iterator).

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
  JDO Tutorials
  EAI Articles
  Struts Tutorials
  Java Tutorials
  Java Certification

Tell A Friend
Your Friend Name
Search Tutorials

 

 
 
Browse all Java Tutorials
Java JSP Struts Servlets Hibernate XML
Ajax JDBC EJB MySQL JavaScript JSF
Maven2 Tutorial JEE5 Tutorial Java Threading Tutorial Photoshop Tutorials Linux Technology
Technology Revolutions Eclipse Spring Tutorial Bioinformatics Tutorials Tools SQL
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2007. All rights reserved.