我正在尝试获取我必须滚动的单词列表,而不是从屏幕上运行的窗口。滚动条现在正在工作,但我无法使维度工作。它说( 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);
}
}
答案 0 :(得分: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();
现在你有变量input
,其中包含txt文件的所有行。
阅读有关阅读文件here的更多信息。
现在,您可能会发现使用JOptionPane
设置简单的JFrame
,而不是用于简短消息的JTextArea
。阅读有关如何使用它们的信息:here和here。您需要制作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);
我运行上面的代码并得到了这个结果:
我认为这与你想要做的很接近。
答案 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());
}