0

ファイルを開いてテキストエリアに追加しようとしていますが、テキストファイルは機能しません。正確に何が機能していないのかわかりませんが、ファイルコードの読み取りを実装する関数/メソッドにコンパイラが到達することはわかっています。ここにコードがあります

public class PictureAndButton extends JFrame implements ActionListener
{

private JMenuItem menuOptionOne = new JMenuItem("Lägg till text", KeyEvent.VK_L);
private JTextField textFalt  = new JTextField();


public PictureAndButton()
{
menuInfo.add(menuOptionOne);
menuOptionOne.addActionListener(this);
textField.addActionListener(this);    
setSize(350, 150);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);       
}

public void actionPerformed(ActionEvent e)
{
  if(e.getSource() == menuOptionOne)
    {
        readInFile(textField.getText());
    }
   }    

private void readInFile(String hej) 
{
   try
   {
       BufferedReader inFile = new BufferedReader(new FileReader(hej));  
       while(true)
       {
           String rad = inFile.readLine();
          if(rad == null)
           break;
           textArea.append(rad);       

       }
   }
   catch(IOException e){}
}

public static void main(String[] args)
    {
        PictureAndButton peanutButter = new PictureAndButton();
    }

}

私はEclipseで実行していますが、エラーは発生していません。テキストフィールドの入力テキストはまったく変化しません。テキストエリアには何も追加されません。これについて本当に助けが必要です

4

2 に答える 2

2

ファイルを開いてテキストエリアに追加しようとしています..

JTextComponent.read(Reader,Object)代わりに使用してください。

例えば

textArea.read(new FileReader(hej), hej);
于 2012-06-05T08:24:01.467 に答える
1

System.out.println(); をいくつか追加します。次のようにデバッグします。

if(e.getSource() == menuOptionOne)
{
    System.out.println("Trying to load file: "+textField.getText());
    readInFile(textField.getText());
}

さらに、その try と catch 内のメッセージを使用して、何かが失敗したときに知ることができます。

 try
 {
   BufferedReader inFile = new BufferedReader(new FileReader(hej));  
   while(true)
   {
       String rad = inFile.readLine();
      if(rad == null)
       break;
       textArea.append(rad);       

   }
} catch(IOException e){ System.out.println("Problem on loading file .Because: "e.getMessage();
     }
于 2012-06-05T08:29:53.120 に答える