-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

あなたが持っているコードよりも少し複雑です。また、使用しようとしていますが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 ファイルのすべての行を含む変数ができました。

ファイルの読み取りについて詳しくは、こちらをご覧ください。

短くて単純なメッセージを意味するの代わりに、JOptionPaneを使用して単純なメッセージを設定する方が簡単であることに気付くかもしれませJFrameJTextArea。それらの使用方法については、こちらこちらをご覧ください。a を作成してJFrameから、それに a を追加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 に答える