943,645 Members | Top Members by Rank

Ad:
  • Java Discussion Thread
  • Unsolved
  • Views: 3322
  • Java RSS
You are currently viewing page 1 of this multi-page discussion thread
Jun 14th, 2007
0

problem in listing directories in list box

Expand Post »
Hi,

Im trying to list all the drives in the local machine in a combo box and when a drive selected all the folders and files in that drive must be listed ina list box.

I was succesfull in listing the drives in the combobos.But when i try to list the folders in the list box im getting error like this:

Error:
Prod_applet.java:226: Cannot find symbol
symbol : variable local_jlist
location: class Prod_applet
local_jlist.addElement(local_files[i]);

1 error

Can any one help me in solving this problem ASAP please?Just got struck with it
i have given the code below.

Thankyou



Prod_applet.java
--------------------
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.File;
import java.io.FilenameFilter;
import java.io.FileFilter;

public class Prod_applet extends JFrame implements ItemListener{
boolean inAnApplet = true;
final boolean shouldFill = true;
final boolean shouldWeightX = true;

public Prod_applet() {
JPanel local_window = new JPanel();
JPanel server_window = new JPanel();
JPanel button_window = new JPanel();
JPanel action_window = new JPanel();
JButton connect = new JButton("Connect");
connect.setMargin(new Insets(0, 0, 0, 0));
JButton disconnect = new JButton("Disconnect");
disconnect.setMargin(new Insets(0, 0, 0, 0));
JButton up_but = new JButton(">>");
up_but.setMargin(new Insets(0, 0, 0, 0));
JButton down_but = new JButton("<<");
down_but.setMargin(new Insets(0, 0, 0, 0));
JLabel local_lbl = new JLabel("Local Site");
JLabel server_lbl = new JLabel("Remote Site");
JComboBox local_combobox = new JComboBox();
local_combobox.setEditable(true);
JComboBox server_combobox = new JComboBox();


List local_jlist = new List();
//local_jlist.setMargin(new Insets(0, 0, 0, 0));
List server_jlist = new List();
//server_jlist.setMargin(new Insets(0, 0, 0, 0));
JButton local_mkdir = new JButton("MkDir");
local_mkdir.setMargin(new Insets(0, 0, 0, 0));
JButton server_mkdir = new JButton("MkDir");
server_mkdir.setMargin(new Insets(0, 0, 0, 0));
JButton local_delete = new JButton("Delete");
local_delete.setMargin(new Insets(0, 0, 0, 0));
JButton server_delete = new JButton("Delete");
server_delete.setMargin(new Insets(0, 0, 0, 0));
JButton local_refresh = new JButton("Refresh");
local_refresh.setMargin(new Insets(0, 0, 0, 0));
JButton server_refresh = new JButton("Refresh");
server_refresh.setMargin(new Insets(0, 0, 0, 0));
Container contentPane = getContentPane();
BorderLayout border = new BorderLayout();
contentPane.setLayout(border);
contentPane.add(local_window, BorderLayout.WEST);
contentPane.add(server_window, BorderLayout.EAST);
contentPane.add(button_window, BorderLayout.CENTER);
contentPane.add (action_window, BorderLayout.SOUTH);
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
c.insets = new Insets(2, 2, 2, 2);
GridBagConstraints c1 = new GridBagConstraints();
c1.insets = new Insets(2, 2, 2, 2);
GridBagConstraints c2 = new GridBagConstraints();
c2.insets = new Insets(2, 2, 2, 2);
GridBagConstraints c3 = new GridBagConstraints();
c3.insets = new Insets(2, 2, 2, 2);
GridBagConstraints c4 = new GridBagConstraints();
c4.insets = new Insets(2, 2, 2, 2);
GridBagConstraints c5 = new GridBagConstraints();
c5.insets = new Insets(2, 2, 2, 2);
GridBagConstraints c6 = new GridBagConstraints();
c6.insets = new Insets(2, 2, 2, 2);
local_window.setLayout(gridbag);
server_window.setLayout(gridbag);
button_window.setLayout(gridbag);
action_window.setLayout(gridbag);
File[] drives = File.listRoots();
for(int i = 0 ; i <drives.length;i++)
{
local_combobox.addItem(drives[i]);
server_combobox.addItem(drives[i]);
}
local_combobox. addItemListener(this);
server_combobox. addItemListener(this);
//Connect Button
c.gridx = 0;
c.gridy = 0;
gridbag.setConstraints(connect, c);
local_window.add(connect);
//Disconnect Button
c.gridx = 25;
c.gridy = 0;
gridbag.setConstraints(disconnect, c);
server_window.add(disconnect);

//Local Label
c1.gridx = 0;
c1.gridy = 3;
gridbag.setConstraints(local_lbl, c1);
local_window.add(local_lbl);
//Local combobox
c1.gridx = 10;
c1.gridy = 3;
gridbag.setConstraints(local_combobox, c1);
local_window.add(local_combobox);
//Server Label
c1.gridx = 25;
c1.gridy = 3;
gridbag.setConstraints(server_lbl, c1);
server_window.add(server_lbl);
//Server combobox
c1.gridx = 35;
c1.gridy = 3;
gridbag.setConstraints(server_combobox, c1);
server_window.add(server_combobox);

//Local jlist
c2.gridx = 0;
c2.gridy = 6;
gridbag.setConstraints(local_jlist, c2);
local_window.add(local_jlist);

//Server jlist
c2.gridx = 25;
c2.gridy = 6;
gridbag.setConstraints(server_jlist, c2);
server_window.add(server_jlist);

//Up Button
c3.gridx = 10;
c3.gridy = 8;
gridbag.setConstraints(up_but, c3);
button_window.add(up_but);

//Down Button
c3.gridx = 10;
c3.gridy = 9;
gridbag.setConstraints(down_but, c3);
button_window.add(down_but);

//local_mkdir
c4.gridx = 0;
c4.gridy = 10;
gridbag.setConstraints(local_mkdir,c4);
action_window.add(local_mkdir);

//server_mkdir
c4.gridx = 25;
c4.gridy = 10;
gridbag.setConstraints (server_mkdir, c4);
action_window.add(server_mkdir);

//local_delete
c5.gridx = 1;
c5.gridy = 10;
gridbag.setConstraints(local_delete, c5);
action_window.add(local_delete);

//server_delete
c5.gridx = 26;
c5.gridy = 10;
gridbag.setConstraints(server_delete, c5);
action_window.add(server_delete);

//local_refresh
c6.gridx = 2;
c6.gridy = 10;
gridbag.setConstraints(local_refresh, c6);
action_window.add(local_refresh);

//server_refresh
c6.gridx = 27;
c6.gridy = 10;
gridbag.setConstraints(server_refresh, c6);
action_window.add(server_refresh);

addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
if (inAnApplet) {
dispose();
} else {
System.exit(0);
}
}
});
}
public void itemStateChanged(ItemEvent e)
{
JComboBox local_combobox = (JComboBox)e.getSource();
JComboBox server_combobox = (JComboBox)e.getSource();
String newSelectionStrName_local = null;
String newSelectionStrName_server = null;
if ( local_combobox.getSelectedItem() instanceof File)
{
File newSelection_local = (File)local_combobox.getSelectedItem();
newSelectionStrName_local = newSelection_local.getPath();
}
else if (local_combobox.getSelectedItem() instanceof String)
{
newSelectionStrName_local = (String) local_combobox.getSelectedItem();
}
if ( server_combobox.getSelectedItem() instanceof File)
{
File newSelection_server = (File)server_combobox.getSelectedItem();
newSelectionStrName_server = newSelection_server.getPath();
}
else if (server_combobox.getSelectedItem() instanceof String)
{
newSelectionStrName_server = (String) server_combobox.getSelectedItem();
}
File file1 = new File(newSelectionStrName_local);
File file2 = new File(newSelectionStrName_server);
String[] local_files = file1.list();
for (int i=0;i<local_files.length;i++)
{

local_jlist.addElement(local_files[i]);

}

}

public static void main(String args[]) {
Prod_applet window = new Prod_applet();
window.setSize(800,600);
window.inAnApplet = false;
window.setTitle("FTP_CLIENT");
window.pack();
window.setVisible(true);
}
}
Reputation Points: 10
Solved Threads: 0
Newbie Poster
tolearn is offline Offline
7 posts
since Jun 2007
Jun 14th, 2007
1

Re: problem in listing directories in list box

Looks like local_jlist is a function local variable (inpublic Prod_applet()).. and not in the scope where you're using it (line 226).. make it a member variable.. it should work..
Reputation Points: 254
Solved Threads: 74
Practically a Posting Shark
thekashyap is offline Offline
804 posts
since Feb 2007
Jun 14th, 2007
0

Re: problem in listing directories in list box

I have declared all the variables public only. No problem with other components only the listbox is bugging up.

Thnak you
Reputation Points: 10
Solved Threads: 0
Newbie Poster
tolearn is offline Offline
7 posts
since Jun 2007
Jun 14th, 2007
0

Re: problem in listing directories in list box

I have declared all the variables public only. No problem with other components only the listbox is bugging up.

Im new for this just now trying practically.Can you help me in this more.

Thnak you
Reputation Points: 10
Solved Threads: 0
Newbie Poster
tolearn is offline Offline
7 posts
since Jun 2007
Jun 14th, 2007
0

Re: problem in listing directories in list box

As thekashyap mentioned,
Quote ...
local_jlist is a function local variable (inpublic Prod_applet())
which mean you can not access it in public void itemStateChanged(ItemEvent e). So you need to declare it on top level to be accesible by other methods
Java Syntax (Toggle Plain Text)
  1. boolean inAnApplet = true;
  2. final boolean shouldFill = true;
  3. final boolean shouldWeightX = true;
  4. public List local_jlist;

Also List doesn't have method addElement() so add() would be solution check reference
Last edited by peter_budo; Jun 14th, 2007 at 9:15 am.
Moderator
Featured Poster
Reputation Points: 2786
Solved Threads: 871
Code tags enforcer
peter_budo is offline Offline
6,654 posts
since Dec 2004
Jun 14th, 2007
0

Re: problem in listing directories in list box

OK just seen this application running...
1. TextArea to list files is very-very small you should do something bigger. Play with settings for each component
2. In remote site I chosed my optical drive which made lots of un-catched errors and on top of that list was displayed in wrong TextArea (under my local disk)
3. Puzzled with functionality of buttons Connect & Disconnect. What do they do? If this application is supposed to work as FTP client you have to be able define location where you want to connect (like ftp.adobe.pub.com plus user name), but cann't say to much I doon't know what research you did into FTP clients
Moderator
Featured Poster
Reputation Points: 2786
Solved Threads: 871
Code tags enforcer
peter_budo is offline Offline
6,654 posts
since Dec 2004
Jun 15th, 2007
0

Re: problem in listing directories in list box

Hi thanks,
I have tried that also.Its now showing erro like"variable local_jlistmight not have been initialized"
Reputation Points: 10
Solved Threads: 0
Newbie Poster
tolearn is offline Offline
7 posts
since Jun 2007
Jun 15th, 2007
0

Re: problem in listing directories in list box

Click to Expand / Collapse  Quote originally posted by tolearn ...
Hi thanks,
I have tried that also.Its now showing erro like"variable local_jlistmight not have been initialized"
Post the updated code and I will look at it
Moderator
Featured Poster
Reputation Points: 2786
Solved Threads: 871
Code tags enforcer
peter_budo is offline Offline
6,654 posts
since Dec 2004
Jun 15th, 2007
0

Re: problem in listing directories in list box

Click to Expand / Collapse  Quote originally posted by tolearn ...
Hi thanks,
I have tried that also.Its now showing erro like"variable local_jlistmight not have been initialized"
This just means that you must set a value for the variable before it is used. You could change it's declaration to
Java Syntax (Toggle Plain Text)
  1. public List local_jlist = null;
  2. // or this
  3. public List local_jlist = new ArrayList();
Note, you cannot simply say new List(), since List is an interface and not a class. You need to choose one of the List implementations to create.
Moderator
Featured Poster
Reputation Points: 3239
Solved Threads: 838
Posting Genius
Ezzaral is offline Offline
6,756 posts
since May 2007
Jun 15th, 2007
0

Re: problem in listing directories in list box

Click to Expand / Collapse  Quote originally posted by Ezzaral ...
Note, you cannot simply say new List(), since List is an interface and not a class. You need to choose one of the List implementations to create.
Am I mistaken and List is not a class? What about this. However, you right List can be also interface but with less option then List class
Moderator
Featured Poster
Reputation Points: 2786
Solved Threads: 871
Code tags enforcer
peter_budo is offline Offline
6,654 posts
since Dec 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Java Forum Timeline: Dots and Boxes Client/Server in java
Next Thread in Java Forum Timeline: Screenshot of JFrame which is Invisible





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC