Java Forums

Main Menu
Home
Today's Posts
FAQ
Search
Contact Us

Java Network
Java Tips
Java Tips Blog

Sponsored Links





Welcome to the Java Forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community, you will:

  • have access to post topics
  • communicate privately with other members (PM)
  • not see advertisements between posts
  • have the possibility to earn one of our surprises if you are an active member
  • access many other special features that will be introduced later.

Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact us.

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 12-20-2007, 08:17 PM
Member
 
Join Date: Dec 2007
Posts: 34
saytri is on a distinguished road
Textfile and GUI problems
I have a problem where i have to call a textfile from Java. To call it i have used the buffered reader, but my problem is what do i have to write in the if condition, so that when you click on a button it will open the specified textfile. I'm making a quiz, and i want that when one clicks one of the buttons such as plate tectonics, it opens the textfile in a GUI window displaying a set of questions found in the textfile called platetectonics.txt. Can you help me pls? Thanks a lot.

*This is the code i have written:*

{code}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

import java.io.*;
import java.util.Scanner;

import java.util.Arrays;

class Ch14FlowLayoutSample extends JFrame {





private static final int FRAME_WIDTH = 95;
private static final int FRAME_HEIGHT = 170;
private static final int FRAME_X_ORIGIN = 70;
private static final int FRAME_Y_ORIGIN = 50;






public static void main (String[] args) {


JFrame jFrame;
jFrame = new JFrame();



JOptionPane.showMessageDialog(jFrame, "This is a Geography Quiz");
JOptionPane.showMessageDialog(null, "Good Luck");


char choice;
int i, choice1;
String yourChoice;
int Password;
String passString;

passString = JOptionPane.showInputDialog("Enter the Password");


//Password = passString.nextInt();
Password = Integer.parseInt(passString);

if (Password == 123)
{
JOptionPane.showMessageDialog(null, "Valid. You typed the right password. Now choose from the following menu");


Ch14FlowLayoutSample frame = new Ch14FlowLayoutSample();
frame.setVisible(true);

}
else
{
JOptionPane.showMessageDialog(null, "Invalid Password. Try Again");
}
}

public Ch14FlowLayoutSample() {
Container contentPane;
JButton button1, button2, button3, button4, button5;


setSize (FRAME_WIDTH, FRAME_HEIGHT);
setTitle("Geography Quiz");
setLocation(FRAME_X_ORIGIN, FRAME_Y_ORIGIN);

contentPane = getContentPane();
contentPane.setBackground(Color.pink);
contentPane.setLayout(new FlowLayout());

button1 = new JButton("Plate Tectonics");
button2 = new JButton("Rivers");
button3 = new JButton("Rocks");
button4 = new JButton("Quit");

contentPane.add(button1);
contentPane.add(button2);
contentPane.add(button3);
contentPane.add(button4);

if (clickedbutton == button1)
{
Scanner s = null;
try {
s = new Scanner(new BufferedReader(new FileReader("plate_tectonics.txt")));

while (s.hasNext()) {
s.useDelimiter(",\\s*");
JOptionPane.showInputDialog(null,s.nextLine());

}
} finally {
if (s != null)
s.close();

}

}
setDefaultCloseOperation(EXIT_ON_CLOSE);
}{code}

*And this is the piece of code i'm having trouble with:-*

{code}
if (clickedbutton == button1)
{
Scanner s = null;
try {
s = new Scanner(new BufferedReader(new FileReader("plate_tectonics.txt")));

while (s.hasNext()) {
s.useDelimiter(",\\s*");
JOptionPane.showInputDialog(null,s.nextLine());

}
} finally {
if (s != null)
s.close();

}{code}
Bookmark Post in Technorati
Reply With Quote
Sponsored Links
  #2 (permalink)  
Old 12-21-2007, 10:32 AM
CaptainMorgan's Avatar
Moderator
 
Join Date: Dec 2007
Location: NewEngland, US
Posts: 839
CaptainMorgan will become famous soon enoughCaptainMorgan will become famous soon enough
Send a message via AIM to CaptainMorgan
You need to implement an ActionListener for the event you wish to operate on. The key here is to override the abstract method actionPerformed() otherwise you'll get an abstract class but non-abstract method error. Make sure you use the try/catch properly by writing a catch statement.

Go here for information on event listeners.


Code:
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.io.*; import java.util.Scanner; import java.util.Arrays; public class Ch14FlowLayoutSample extends JFrame implements ActionListener { private static final int FRAME_WIDTH = 145; private static final int FRAME_HEIGHT = 170; private static final int FRAME_X_ORIGIN = 70; private static final int FRAME_Y_ORIGIN = 50; public static void main (String[] args) { JFrame jFrame; jFrame = new JFrame(); JOptionPane.showMessageDialog(jFrame, "This is a Geography Quiz"); JOptionPane.showMessageDialog(null, "Good Luck"); char choice; int i, choice1, Password; String yourChoice, passString; passString = JOptionPane.showInputDialog("Enter the Password"); //Password = passString.nextInt(); Password = Integer.parseInt(passString); if (Password == 123) { JOptionPane.showMessageDialog(null, "Valid. You typed the right password. Now choose from the following menu"); Ch14FlowLayoutSample frame = new Ch14FlowLayoutSample(); frame.setVisible(true); } else { JOptionPane.showMessageDialog(null, "Invalid Password. Try Again"); } } public Ch14FlowLayoutSample() { Container contentPane; JButton button1, button2, button3, button4, button5; setSize (FRAME_WIDTH, FRAME_HEIGHT); setTitle("Geography Quiz"); setLocation(FRAME_X_ORIGIN, FRAME_Y_ORIGIN); contentPane = getContentPane(); contentPane.setBackground(Color.pink); contentPane.setLayout(new FlowLayout()); button1 = new JButton("Plate Tectonics"); button2 = new JButton("Rivers"); button3 = new JButton("Rocks"); button4 = new JButton("Quit"); contentPane.add(button1); contentPane.add(button2); contentPane.add(button3); contentPane.add(button4); button1.addActionListener(this); button1.setActionCommand("b1"); button4.addActionListener(this); button4.setActionCommand("b4"); setDefaultCloseOperation(EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent e) { if ("b1".equals(e.getActionCommand())) { Scanner s = null; try { s = new Scanner(new BufferedReader(new FileReader("plate_tectonics.txt"))); while (s.hasNext()) { s.useDelimiter(",\\s*"); JOptionPane.showInputDialog(null,s.nextLine()); } } catch (java.io.FileNotFoundException f) { JOptionPane.showMessageDialog(null, "File not found."); } finally { if (s != null) s.close(); } } else if ("b4".equals(e.getActionCommand())) { System.exit(0); } } }
Bookmark Post in Technorati
Reply With Quote
  #3 (permalink)  
Old 12-21-2007, 05:08 PM
Member
 
Join Date: Dec 2007
Posts: 34
saytri is on a distinguished road
Ok thanks a lot. i really appreciate your help! Thanks again :-) You'r Great!
Bookmark Post in Technorati
Reply With Quote
Sponsored Links
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Search TextFile gsupriyarao@yahoo.com Advanced Java 5 04-11-2008 12:03 PM
reading textfile from java problem saytri New To Java 1 01-17-2008 03:13 AM
textfile with Java problems saytri New To Java 4 12-29-2007 06:16 PM
ECG plot in a textfile samson Java 2D 1 07-17-2007 04:53 AM
Problem with storing and retrieving from a textfile Albert Advanced Java 1 07-13-2007 04:01 PM


All times are GMT +3. The time now is 09:16 AM.


VBulletin, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2006 - 2007, www.java-forums.org