Java 如何获取文本文件中的特定文本行以触发JFrame按钮事件
我找不到有人从文本文件中提取特定行并使用它触发JFrame按钮事件的示例。我想使用它,这样当这个音板打开时,它将播放与您关闭程序时相同的歌曲,但前提是您没有停止播放歌曲 为了清楚起见,我不希望这些歌曲在它被中断的地方开始播放,我只希望相同的歌曲从开头开始。 txt文档以四行作为0开始,但我希望他们检查1是否需要自动运行 此外,我对读写文件的概念还很陌生,所以如果我能以正确的方式读写文件,我将非常感谢您提供的任何提示Java 如何获取文本文件中的特定文本行以触发JFrame按钮事件,java,jframe,Java,Jframe,我找不到有人从文本文件中提取特定行并使用它触发JFrame按钮事件的示例。我想使用它,这样当这个音板打开时,它将播放与您关闭程序时相同的歌曲,但前提是您没有停止播放歌曲 为了清楚起见,我不希望这些歌曲在它被中断的地方开始播放,我只希望相同的歌曲从开头开始。 txt文档以四行作为0开始,但我希望他们检查1是否需要自动运行 此外,我对读写文件的概念还很陌生,所以如果我能以正确的方式读写文件,我将非常感谢您提供的任何提示 import javax.swing.*; import java.awt.ev
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.applet.Applet;
import java.applet.AudioClip;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URL;
import java.util.Scanner;
public class beepBoop extends JFrame {
JButton Loop1 = new JButton("Play");
JButton Stop1 = new JButton("Stop");
URL song1 = beepBoop.class.getResource("song1.wav");
AudioClip clip = Applet.newAudioClip(song1);
public beepBoop() {
super("AddingSound");
setLayout(new FlowLayout());
Loop1.addActionListener(new ActionListener() {
/* THIS IS WHERE I WOULD LIKE TO CHANGE AND SAVE A SPECIFIC LINE OF A TEXT FILE
* AS A 1 AND WHEN THIS SPECIFIC LINE OF TEXT IS A 1 WHEN THE PROGRAM BEGINS IT
* WILL ATTOMATICALLY PLAY THE SONG
* TO BE CLEAR I DO NOT!!! WANT THE SONG TO PICK UP WHERE IT LEFT OFF I JUST WANT
* THE SAME SONG TO PLAY FROM THE BEGINNING
* I WOULD LIKE TO REPEAT THIS PROCESS AT LEAST FOUR TIMES
*/
public void actionPerformed(ActionEvent e) {
clip.loop();
}
});
Stop1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clip.stop();
}
});
add(Loop1);
add(Stop1);
}
public static void main(String args[]) {
JFrame frame = new beepBoop();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setVisible(true);
File soundstatus = new File("soundstatus.txt");
try {
PrintWriter output = new PrintWriter(soundstatus);
output.println("0");
output.println("0");
output.println("0");
output.println("0");
output.close();
} catch (IOException ex) {
System.out.printf("ERROR: %s\n", ex);
}
try {
Scanner input = new Scanner(soundstatus);
int sound1 = input.nextInt();
int sound2 = input.nextInt();
int sound3 = input.nextInt();
int sound4 = input.nextInt();
System.out.printf("sound1: %s sound2: %d\n", sound1, sound2,
sound3, sound4);
} catch (FileNotFoundException ex) {
System.out.printf("Please choose a different file: %s\n", ex);
}
}
}
到目前为止项目的一个小图片。我知道我是个了不起的设计师,不是吗?XD
我认为不能从文本输入触发JFrame事件。但是,我认为你可以通过if/else语句实现你想要的。也在未来考虑提供一个,因为人们没有时间阅读很多人的ELS代码。也许这就是你没有太多回应的原因。你是否建议我使用if-else语句来查看文本文件是否具有特定的字符?没错。但是你不可能在一行代码中实现这一点。很抱歉,您的答案确实需要太长的答案,这里没有人会为您编码:下面是过程:读取文件并将数据放置在string=>read This string类型的对象中。。。。我不知道为什么我在做这件事几个小时之前没有想到这一点。我现在觉得自己很傻,但感谢你提供的非常有用的建议和信息,你在这两条评论中帮助了我更多,就像我问的另外两个问题中的6个不同的ppl一样。谢谢你给我一个简单的答案,而不是告诉我我做的不对,你问的是真正的基础知识,所以也许可以考虑学习它。会很有趣的!:)