2016-03-26 18 views
0

私はJavaプロジェクトで立ち往生しています。 私はTXTファイルで作業しています。これらのTXTファイルをJListから開いています。 私はこれで全然ノーベルなので、JListの作業を管理するには数時間かかりました。しかし、今私はJTextAreaで立ち往生しています。 アイデアはこれです:JListから項目をクリックすると(項目=フォルダからのTXTファイル)、そのTXTファイルをJTextAreaで開き、それを表示する必要があります。Java JListとJTextArea

..hereは、これまで..itは少し長いです私のコードです:検索の

-JButtonとJListのでTXTファイルを置く:

  JButton searchSearchButton = new JButton("Search"); 
      searchSearchButton.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) {  

        DefaultListModel model1 = new DefaultListModel(); 

        File dir = new File("C:\\Users\\Zoli\\Desktop\\New folder"); 
        File[] matches = dir.listFiles(new FilenameFilter() { 
         public boolean accept(File dir, String name) { 
          return name.startsWith(searchKeywordTextField.getText()) && name.endsWith(".txt"); 
         }      
        }); 

        for(File f : matches){ 
         model1.addElement(f.getName()); 
        } 

        searchList.setModel(model1);      
       } 
      }); 
      searchSearchButton.setBounds(186, 43, 89, 23); 
      linuxSearchPane.add(searchSearchButton); 

- これはJTextAreaにあるとJListのコード:

  final JTextArea searchTextArea = new JTextArea(); 
      JScrollPane searchTextAreaScrollPane = new JScrollPane(searchTextArea); 
      searchTextAreaScrollPane.setBounds(316, 43, 496, 430); 
      linuxSearchPane.add(searchTextAreaScrollPane); 

      final JList searchList = new JList(); 
      searchList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
      searchList.setVisibleRowCount(20); 
      searchList.addListSelectionListener(new ListSelectionListener() {    
       public void valueChanged(ListSelectionEvent e) { 
        searchTextArea.setText(""); 

        for(Object o : searchList.getSelectedValuesList()){ 
         searchTextArea.append(o.toString()+"\r\n"); 

        } 

       } 
      }); 

私が行うために管理-Allされ、私はJListのから項目を選択すると、それはそれはTXTに含まれているものをJTextAreaの中で項目名を出力しません。ここ はお見せするための画像です: picture

誰もこれで私を助けてください可能性が...私はゼロのアイデアを持っている...私はJListの、およびJTextAreaに読んませんが、私は必要なものを何でもポイントを持っています。 ..

助けてください。

答えて

0

私はそれをしました!

  final JTextArea searchTextArea = new JTextArea(); 
      JScrollPane searchTextAreaScrollPane = new JScrollPane(searchTextArea); 
      searchTextAreaScrollPane.setBounds(316, 43, 496, 430); 
      linuxSearchPane.add(searchTextAreaScrollPane); 

      final JList searchList = new JList(); 
      searchList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
      searchList.setVisibleRowCount(20); 
      searchList.addListSelectionListener(new ListSelectionListener() {    
       public void valueChanged(ListSelectionEvent e) { 
        searchTextArea.setText(""); 
        String root = "C:\\Users\\Zoli\\Desktop\\New folder\\"; 
        String filename; 
        String lineRead = ""; 
        String fileContent = ""; 

        try {      
         for(Object o : searchList.getSelectedValuesList()){ 
          filename = o.toString();  
          FileReader reader = new FileReader(root + filename); 
          BufferedReader buffer = new BufferedReader(reader); 

          while(lineRead != null){ 
           try { 
            lineRead = buffer.readLine(); 
           } catch (IOException e1) { 
            e1.printStackTrace(); 
           } 
           if(lineRead != null){ 
            fileContent = fileContent + lineRead + "\r\n"; 
            searchTextArea.setText(fileContent); 
           } 
          } 


         } 

        } catch (FileNotFoundException e1) { 
         // TODO Auto-generated catch block 
         e1.printStackTrace(); 
        } 


       } 
      }); 

はまたここにそれがどのように動作するかを確認するために画像です: は、ここでは、コードですpicture