gpt4 book ai didi

Java Swing,单击按钮,输出到 JTextArea

转载 作者:行者123 更新时间:2023-11-29 03:26:01 26 4
gpt4 key购买 nike

我有 2 个类,其中一个是 GUI。

我的第一个类叫做 MusicSearch.java,它有这个:

public static void directoryMusicLocator(File dir) {
try
{
String[] filetype = new String[] { "mp3" }; // only search mp3 files
System.out.println("Getting all .mp3 files in " + dir.getCanonicalPath() + " including those in subdirectories");
List<File> files = (List<File>) FileUtils.listFiles(dir, filetype, true);
for (File file : files)
{
System.out.println(file.getAbsolutePath()); // get the file's absolute path
}
System.out.println("\nFinished Searching.");
}
catch (IOException e)
{
e.printStackTrace();
}
}

它的作用是在目录(例如 C:\Music)上搜索 Mp3 文件

对于 GUI,我使用 netbeans 的 JFrame Designer 创建了它,可以在下图中看到它的屏幕截图。 (我目前无法嵌入图片,所以我只能提供图片链接。)

http://i.stack.imgur.com/7pLPL.jpg

在“输入位置”旁边的 JTextField 上,用户输入一个位置,例如 C:\Music。当用户单击“查找 MP3”按钮时,将调用方法 directoryMusicLocator。下面是查找 MP3 按钮的 Action 监听器:

private void findMP3ButtonActionPerformed(java.awt.event.ActionEvent evt) {                                              
// TODO add your handling code here:
String fLocation = dirToSearch.getText(); // this gets the input from the textfield
File dir = new File(fLocation); // converts the location to path
MusicSearch.directoryMusicLocator(dir);
}

当用户在文本字段中输入 C:\Music 时,可以在下面看到输出示例:

C:\Music\Feint - Times Like These (Fracture Design Remix).mp3
C:\Music\Ficci - Climax (FREE).mp3
C:\Music\Ficci - Making Me Blue (FREE).mp3

现在我想要的是在 JTextArea 上显示的输出,但我不知道如何显示。谁能告诉我怎么做。

谢谢

最佳答案

您只需在 directoryMusicLocatorfindMP3ButtonActionPerformed 方法中进行以下更改。无需直接打印,您只需将内容存储在 StringBuilder 中并返回它,以便您可以在 JTextArea 中显示它。

public static String directoryMusicLocator(File dir) {
try
{
String[] filetype = new String[] { "mp3" }; // only search mp3 files
StringBuilder outString = new StringBuilder("Getting all .mp3 files in " + dir.getCanonicalPath() + " including those in subdirectories\n");
List<File> files = (List<File>) FileUtils.listFiles(dir, filetype, true);
for (File file : files)
{
outString.append(file.getAbsolutePath()+"\n"); // get the file's absolute path
}
outString.append("\nFinished Searching.");
return outString.toString()
}
catch (IOException e)
{
e.printStackTrace();
return null;
}
}

private void findMP3ButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String fLocation = dirToSearch.getText(); // this gets the input from the textfield
File dir = new File(fLocation); // converts the location to path
String output = MusicSearch.directoryMusicLocator(dir);

// Replace <jTextArea> with your JTextArea field name
<jTextArea>.setText(output);
}

关于Java Swing,单击按钮,输出到 JTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20941772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com