Я работаю над школьным проектом и пытаюсь запустить графический интерфейс для плейлиста. Мой товарищ по группе также представил компоненты Maven в самом проекте, поэтому мы можем загружать, получать значения и воспроизводить звук, как фактический плейлист. Экран, но я получаю ошибку «Исключение в потоке» java.lang.error: неразрешенная задача компиляции:
Запуск метода (String []) не определен для приложения типа < /p>
at playlistProject/playlist.application.main(application.java:157)"
< /code>
Ниже приведен код, и мне интересно, является ли это проблемой с кодом или другим свойством с Javafx или Maven. Спасибо, это мой первый раз, когда я использую это! < /P>
package playlist;
import java.io.File;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.collections.ObservableList;
import javafx.collections.FXCollections;
import javafx.scene.control.cell.ComboBoxListCell;
import javafx.scene.layout.StackPane;
import javafx.scene.control.Button;
import playlist.*;
import playlist.Playlist;
import javafx.stage.FileChooser;
import javafx.scene.control.ListView;
public class application {
private ListView allSongs = new ListView();
//public ObservableList test = FXCollections.observableArrayList();
private TextField txtSongName = new TextField();
private TextField txtSongArtist = new TextField();
private TextField txtGenre = new TextField();
public void start(Stage primaryStage) {
try {
GridPane root = new GridPane();
root.setPadding(new Insets(20));
root.setHgap(15);
root.setVgap(15);
Scene scene = new Scene(root,700,600);
root.add(search(), 0, 0);
root.add(searchBoxes(), 0, 1);
FileChooser fileChooser = new FileChooser();
Button button = new Button("Click to add song files");
EventHandler event = new EventHandler() {
public void handle(ActionEvent e) {
File file = fileChooser.showOpenDialog(primaryStage);
}
};
button.setOnAction(event);
root.add(button, 0, 2);
root.add(listViewSongs(), 0, 3);
root.add(additionalButtons(), 0, 4);
listViewSongs();
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setTitle("Playlist");
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
private Pane search() {
HBox row = new HBox();
Label label = new Label("Search song by:");
row.getChildren().add(label);
return row;
}
private Pane searchBoxes() {
HBox row = new HBox();
Label song = new Label("Song Name: ");
txtSongName.setPrefWidth(150);
Label artist = new Label(" Artist: ");
txtSongArtist.setPrefWidth(150);
Label genre = new Label(" Genre: ");
txtGenre.setPrefWidth(150);
row.getChildren().addAll(song, txtSongName, artist, txtSongArtist, genre, txtGenre);
return row;
}
private Pane listViewSongs() {
VBox column = new VBox();
Label label = new Label("Playlist");
allSongs.setPrefHeight(100);
column.getChildren().addAll(label, allSongs);
return column;
}
private Pane additionalButtons() {
GridPane grid = new GridPane();
grid.setHgap(10);
grid.setVgap(10);
Button btnPlayPause = new Button("Play/Pause");
btnPlayPause.setOnAction(new handlePlayPause());
Button btnSkip = new Button("Skip");
btnSkip.setOnAction(new handleSkip());
Button btnShuffle = new Button("Shuffle");
btnShuffle.setOnAction(new handleShuffle());
Button btnRemove = new Button("Remove Song");
btnRemove.setOnAction(new handleRemove());
grid.add(btnPlayPause, 0, 4);
grid.add(btnSkip, 1, 4);
grid.add(btnShuffle, 2, 4);
grid.add(btnRemove, 3, 4);
return grid;
}
public class handlePlayPause implements EventHandler {
@Override
public void handle(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
public class handleSkip implements EventHandler {
@Override
public void handle(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
public class handleShuffle implements EventHandler {
@Override
public void handle(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
public class handleRemove implements EventHandler {
@Override
public void handle(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
public static void main(String[] args) {
launch(args);
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... -in-javafx