У меня есть строка меню с 3 меню. Каждое меню имеет пункт меню. Элементы «Сегодня» и «Закрыть» работают очень хорошо, но элемент xyz.txt не работает.
Когда я щелкаю элемент xyz.txt, я получаю следующее исключение: Исключение:
java.io.FileNotFoundException: xyz.txt (The system cannot find the file specified)
Файл xyz.txt находится в проекте «Меню AWT», а класс MenuDemo - в меню AWT / src / awtmenu. Я пытался поместить файл xyz.txt в пакет src или awtmenu, но проблема сохраняется.
Где мне разместить файл xyz.txt?
Любые отзывы будут оценены!
Это код:
import java.awt.Color;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.FileReader;
import java.io.IOException;
public class MenuDemo extends Frame implements ActionListener
{
TextArea ta;
public MenuDemo()
{ // create menu bar
MenuBar mBar = new MenuBar();
setMenuBar(mBar); // add menu bar to frame
// create menus
Menu files = new Menu("Files");
Menu date = new Menu("Date");
Menu exit = new Menu("Exit");
ta = new TextArea(10, 40);
ta.setBackground(Color.cyan);
// add menus to menu bar
mBar.add(files);
mBar.add(date);
mBar.add(exit);
// create menu items to menus
MenuItem mi1 = new MenuItem("xyz.txt");
files.add(mi1);
date.add(new MenuItem("Today"));
exit.add(new MenuItem("Close"));
// linking listener
files.addActionListener(this);
date.addActionListener(this);
exit.addActionListener(this);
add(ta, "Center");
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setTitle("Menu Practice");
setSize(400, 400);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String str = e.getActionCommand();
if(str.equals("Close"))
{
System.exit(0);
}
else if(str.equals("Today"))
{
ta.setText("Today: " + new java.util.Date());
}
else
{
try
{
FileReader fr = new FileReader(str);
ta.setText("Folloiwing are file contents:\n\n");
int temp;
while( (temp = fr.read()) != -1)
{
char ch = (char) temp;
String s1 = String.valueOf(ch);
System.out.println(s1);
ta.append(s1);
}
fr.close();
}
catch(IOException e1)
{
ta.setText("Exception: " + e1);
}
}
}
public static void main(String args[])
{
new MenuDemo();
}
}