-1

我正在尝试获取必须滚动的单词列表,而不是从屏幕上运行的窗口。滚动条现在正在工作,但我无法让维度工作。它说它( 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);
    }
}
4

3 回答 3

0

它比您拥有的代码要复杂一些。此外,您正在尝试使用FileWriter并且PrintWriter您的问题暗示您要读取文件。

读取文本文件的基本设置通常是这样的:

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();

现在你有了包含inputtxt 文件所有行的变量。

在此处阅读有关阅读文件的更多信息。

现在JOptionPane,您可能会发现JFrame使用JTextArea. 阅读如何使用它们:这里这里。你会想要制作一个JFrame然后添加一个JTextArea

更新:或者你可以做这样的事情(取自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);

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

在此处输入图像描述

我认为这与您正在尝试做的事情很接近。

于 2013-03-24T18:31:53.357 回答
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());
}
于 2013-08-02T14:27:19.450 回答
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();
        }
    }
于 2013-03-24T18:40:57.713 回答