java在构造函数中出现“找不到符号”错误,并在类之间传递ArrayList
好吧,我在类之间传递ArrayList时遇到了问题,当我将构造函数从main中创建的对象中取出时,我得到了一个nullPointer异常。我无法得到周围的阵列列表,同时也被成功地修改,或填写的文件,它在目录中检查,请记住我是新的stackOverflow和编程一般,请放心
这是主课
import java.io.*;
import java.net.*;
import java.lang.*;
import java.util.*;
import javazoom.jl.player.*;
import org.apache.commons.io.IOUtils;
import java.applet.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class StreamAudio
{
public static TextArea textArea;
public static ArrayList<File> files;
public StreamAudio()
{
ArrayList<File> files = new ArrayList<File>();
File folder = new File("C:\\Users\\hunter\\Desktop\\code\\StreamAudio\\Music");
File[] allFiles = folder.listFiles();
if(folder.isDirectory())
{
for (File file : allFiles)
{
if (file.isFile())
{
files.add(file);
}
}
}
int count = 0;
for(File i : files)
{
count++;
textArea.append(files.get(count - 1).getName()+"\n");
}
}
public static void main(String[] args)
{
MusicGUI gooey = new MusicGUI(ArrayList<File> files);
}
}
这是GUI课程,我能给你一些关于组织一切的建议吗?我太乱了
import java.io.*;
import java.net.*;
import java.lang.*;
import java.util.*;
import javazoom.jl.player.*;
import org.apache.commons.io.IOUtils;
import java.applet.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MusicGUI{
public static TextArea textArea;
public static ArrayList<File> files;
public MusicGUI(ArrayList<File> t)
{
files = t;
}
public MusicGUI()
{
JFrame frame = new JFrame("FrostMusic");
JButton next = new JButton("Next");
JPanel panel = new JPanel();
TextArea textArea = new TextArea("", 15, 80, TextArea.SCROLLBARS_VERTICAL_ONLY);
JScrollPane scrollPane = new JScrollPane(textArea);
textArea.setEditable(false);
//frame properties
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(650,450);
frame.setBackground(Color.white);
///////////////////////// MUSIC CODE /////////////////////////////
String path = files.get(1).getPath();
File song = new File(path);
String name = song.getName();
name.replace(".mp3", "");
//////////////////////////////////////////////////////////////////////
JLabel label = new JLabel("Now Playing "+name);
//panel properties
panel.setBackground(Color.white);
//play button
JButton play = new JButton("Play");
try
{
FileInputStream fis = new FileInputStream(song);
BufferedInputStream bis = new BufferedInputStream(fis);
String filename = song.getName();
Player player = new Player(bis);
play.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent jh)
{
try
{
player.play();
}catch(Exception e){}
}
});
next.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent jk)
{
try
{
player.close();
}catch(Exception e){}
}
});
}catch(Exception e){}
panel.add(play);
panel.add(textArea);
panel.add(label);
panel.add(next);
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
共 (0) 个答案