使用JOptionPane打印出.txt文件

时间:2013-03-24 18:14:54

标签: java joptionpane

我正在尝试获取我必须滚动的单词列表,而不是从屏幕上运行的窗口。滚动条现在正在工作,但我无法使维度工作。它说( new Dimension( 200, 400 )) ;有错误。找不到符号

import javax.swing.JDialog;
import javax.swing.*;
import java.util.*;
import java.io.*;


public class print1 
{
    public static void main(String [] args) throws IOException
    {
        String input = "";

        BufferedReader reader = new BufferedReader(new FileReader("wordlist.txt"));
        String line = null;
        while ((line = reader.readLine()) != null) {

            input += line + "\n";
        }
        reader.close();

        JTextArea textArea = new JTextArea(input);
        JScrollPane scrollPane = new JScrollPane(textArea);  
        textArea.setLineWrap(true);  
        textArea.setWrapStyleWord(true); 

        scrollPane.setPreferredSize( new Dimension( 200, 400 )) ;
        JOptionPane.showMessageDialog(null,  scrollPane, "Complete Word List:",           
        JOptionPane.PLAIN_MESSAGE);
    }
}

3 个答案:

答案 0 :(得分:0)

它比你的代码复杂一点。此外,您尝试使用FileWriterPrintWriter,而您的问题意味着您要阅读文件。

阅读文本文件的基本设置通常如下:

String input = "";
//Setup the reader
BufferedReader reader = new BufferedReader(new FileReader("/path/to/file.txt"));
String line = null;
//Loop through every line in the .txt file
while ((line = reader.readLine()) != null) {
    //Add the line and then "\n" indicating a new line
    input += line + "\n"
}
reader.close();

现在你有变量input,其中包含txt文件的所有行。

阅读有关阅读文件here的更多信息。

现在,您可能会发现使用JOptionPane设置简单的JFrame,而不是用于简短消息的JTextArea。阅读有关如何使用它们的信息:herehere。您需要制作JFrame,然后向其添加JTextArea

更新:或者你可以这样做(取自this answer on SO):

JTextArea textArea = new JTextArea(input);
JScrollPane scrollPane = new JScrollPane(textArea);  
textArea.setLineWrap(true);  
textArea.setWrapStyleWord(true); 
scrollPane.setPreferredSize( new Dimension( 200, 400 ) ); //whatever size you want
JOptionPane.showMessageDialog(null, 
    scrollPane, 
    "text file contents:", 
    JOptionPane.PLAIN_MESSAGE);

我运行上面的代码并得到了这个结果:

enter image description here

我认为这与你想要做的很接近。

答案 1 :(得分:0)

也许这会对你有所帮助:

    public class JOptionTest {

        private String text;

        public void readFileContent() throws FileNotFoundException{

           text = new Scanner( new File("install.txt") ).useDelimiter("\\A").next();

        }

        public String getFileContent(){

           return this.text;
        }

        public void displayJOptionTest(){

            JOptionPane.showMessageDialog(null,
            text,
            "StackOverFlow Test",
            JOptionPane.ERROR_MESSAGE);

        }


        public static void main(String [] args) throws FileNotFoundException{

             JOptionTest test = new JOptionTest();

             test.readFileContent();
             test.displayJOptionTest();
        }
    }

答案 2 :(得分:0)

以下将过滤后的jpg文件从文件夹添加到JList

private void listPicFiles(){
  DefaultListModel dlm = new DefaultListModel();  
  String path = "C:/New folder";  
  String files;
  File folder = new File(path);
  File[] listOfFiles = folder.listFiles(); 

  for (int i = 0; i < listOfFiles.length; i++) { 
   if (listOfFiles[i].isFile()) {
   files = listOfFiles[i].getName();
       if (files.endsWith(".jpg") || files.endsWith(".jpg"))   {
           dlm.add(i, files);
           //System.out.println(files);
        }
     }    
  }
  JList list = new JList(dlm);
  JOptionPane.showMessageDialog(null, list);
  System.out.println(list.getSelectedValue());
}