Java Windowbuilder AWT-EventQueue-0 Ошибка?

У меня есть программа, в которой пользователь вводит имя исполнителя и использует Last.fm для поиска лучших треков этого исполнителя, похожих исполнителей и похожих треков. У меня есть три кнопки для каждой из них, но когда я нажимаю на третью кнопку, которая похожа на трек, она не переходит на эту страницу и выдает ошибку:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at java.awt.Container.addImpl(Unknown Source)
    at java.awt.Container.add(Unknown Source)
    at Server$9.actionPerformed(Server.java:675)

...

Я разместил соответствующий код ниже. Две другие кнопки работают совершенно нормально, поэтому я не знаю, что с этим. Любой вклад будет очень полезным! Если вам нужно, чтобы я добавил код, дайте мне знать.

    btnSimilarTrack.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                MusicDatabase.getContentPane().removeAll();
                MusicDatabase.getContentPane().add(btnSearch);
                MusicDatabase.getContentPane().add(btnProfile);
                MusicDatabase.getContentPane().add(btnSignOut);


   MusicDatabase.getContentPane().add(lblEnterArtistForSimilarTrack);
                MusicDatabase.getContentPane().add(lblEnterSongForSimilarTrack);
                MusicDatabase.getContentPane().add(ArtistInputForSimilarTrack);
                MusicDatabase.getContentPane().add(SongInputForSimilarTrack);
                MusicDatabase.getContentPane().add(btnGoSearch);

                MusicDatabase.getContentPane().repaint();

                btnGoSearch.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent arg0) {
                        if 

  (ArtistInputForSimilarTrack.getText().isEmpty()||SongInputForSimilarTrack.getText().isEmpty()) {
                            return;
                        } 

                        try {

                            //user types in artist, goes to site for SIMILAR TRACKS
                            Scanner in = new Scanner (System.in);
                            String site = "http://ws.audioscrobbler.com/2.0/?method=track.getsimilar&artist=BLANKARTIST&track=BLANKTRACK&api_key=bc5957059ef480bb46bd37e834375495";
                            System.out.println("Enter an artist name: ");
                            String artist = ArtistInputForSimilarTrack.getText();
                            System.out.println("Enter the song title: ");
                            String song = SongInputForSimilarTrack.getText();
                            String newSite = site.replace("BLANKARTIST", artist); //replace "BLANKARTIST" with artist in URL
                            String finalSite = newSite.replace("BLANKTRACK", song); //replace "BLANKTRACK with track in URL
                            //System.out.println("Old site: " + site);
                            //System.out.println("New site: " + newSite);
                            System.out.println("Site " + finalSite);

                            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                            DocumentBuilder db = dbf.newDocumentBuilder();
                            Document similar = db.parse(new URL(finalSite).openStream());

                            similar.getDocumentElement().normalize();
                            //System.out.println(similar.getDocumentElement().getNodeName());

                            NodeList nList = similar.getElementsByTagName("track");

                            System.out.println("Most similar track to " + song + " by " + artist + ":");

                            for (int t = 0; t < 1; t++) {

                                Node nNode = nList.item(t);

                                //System.out.println("\n" + nNode.getNodeName()); 
                                if (nNode.getNodeType() == Node.ELEMENT_NODE) {

                                    Element eElement = (Element) nNode;
                                    System.out.println("\nSong name: " + eElement.getElementsByTagName("name").item(0).getTextContent());

                                    //pressing enter makes label display similar artists
                                    lblDisplaySimilarTrack.setText("<html><center>" + "Most similar track to " + song + " by " + artist + ": " + "<br>" + "Song name: " + eElement.getElementsByTagName("name").item(0).getTextContent() + "</center></html>"); 
                                    MusicDatabase.getContentPane().add(lblDisplaySimilarTrack);
                                    MusicDatabase.getContentPane().add(btnSignOut);
                                    MusicDatabase.getContentPane().repaint();
                                }
                            }
                        } catch (Exception e) {
                            e.printStackTrace();

                        }
                    }

0 ответов

Другие вопросы по тегам