Исключение времени выполнения Java. Java FXJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Исключение времени выполнения Java. Java FX

Сообщение Anonymous »

Я пытался изучить Java FX, поэтому использовал часть кода Oracle Eample, но когда я попытался запустить его в Netbean IDE, это выдало ошибку времени выполнения. Вот фрагмент кода:

public class WebViewTestOne {
private Scene scene;
@Override
public void start(Stage stage) {
stage.setTitle("Web View");
scene = new Scene(new Browser(),750,500, Color.web("#666970"));
stage.setScene(scene);
scene.getStylesheets().add("webviewsample/BrowserToolbar.css");
stage.show();
}

public static void main(String[] args){
launch(args);

}
}


и это исключение.

Exception in thread "main" java.lang.RuntimeException: Error: class webviewtest.one.WebViewTestOne is not a subclass of javafx.application.Application
at javafx.application.Application.launch(Application.java:254)
at webviewtest.one.WebViewTestOne.main(WebViewTestOne.java:33)
Java Result: 1


Так что же не так? Я имею в виду, поскольку это пример с официального сайта, почему вообще возникает ошибка? (ошибка возникает при запуске (args)

РЕДАКТИРОВАНИЕ: Хорошо, основываясь на ответе rob. Я добавил расширение, которое пропустил из примера. Теперь оно дает еще больше исключений после того, как я попытался расширить код. Ниже приведен новый код и журнал исключения.

package webviewtest.one;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.application.Platform;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.ListChangeListener.Change;
import javafx.concurrent.Worker.State;
import javafx.event.ActionEvent;
import javafx.event.Event;
import javafx.event.EventHandler;
import javafx.geometry.HPos;
import javafx.geometry.Pos;
import javafx.geometry.VPos;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Hyperlink;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;

import javafx.scene.layout.Region;
import javafx.scene.paint.Color;
import javafx.scene.web.PopupFeatures;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebHistory;
import javafx.scene.web.WebHistory.Entry;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import netscape.javascript.JSObject;

public class WebViewTestOne extends Application{

private Scene scene;

@Override
public void start(Stage stage) {
// create scene
stage.setTitle("Web View");
scene = new Scene(new Browser(), 750, 500, Color.web("#666970"));
stage.setScene(scene);
// apply CSS style
scene.getStylesheets().add("webviewsample/BrowserToolbar.css");
// show stage
stage.show();
}

public static void main(String[] args) {
launch(args);

}
}
class Browser extends Region {

private HBox toolBar;
private static String[] imageFiles = new String[]{
"product.png",
"blog.png",
"documentation.png",
"partners.png",
"help.png"
};
private static String[] captions = new String[]{
"Products",
"Blogs",
"Documentation",
"Partners",
"Help"
};
private static String[] urls = new String[]{
"http://www.oracle.com/products/index.html",
"http://blogs.oracle.com/",
"http://docs.oracle.com/javase/index.html",
"http://www.oracle.com/partners/index.html",
// WebViewSample.class.getResource("help.html").toExternalForm()
};
final ImageView selectedImage = new ImageView();
final Hyperlink[] hpls = new Hyperlink[captions.length];
final Image[] images = new Image[imageFiles.length];
final WebView browser = new WebView();
final WebEngine webEngine = browser.getEngine();
final Button showPrevDoc = new Button("Toggle Previous Docs");
final WebView smallView = new WebView();
final ComboBox comboBox = new ComboBox();
private boolean needDocumentationButton = false;

public Browser() {
//apply the styles
getStyleClass().add("browser");

for (int i = 0; i < captions.length; i++) {
// create hyperlinks
Hyperlink hpl = hpls = new Hyperlink(captions);
Image image = images =
new Image(getClass().getResourceAsStream(imageFiles));
hpl.setGraphic(new ImageView(image));
final String url = urls;
final boolean addButton = (hpl.getText().equals("Documentation"));

// process event
hpl.setOnAction(new EventHandler() {
@Override
public void handle(ActionEvent e) {
needDocumentationButton = addButton;
webEngine.load(url);
}
});
}

comboBox.setPrefWidth(60);

// create the toolbar
toolBar = new HBox();
toolBar.setAlignment(Pos.CENTER);
toolBar.getStyleClass().add("browser-toolbar");
toolBar.getChildren().add(comboBox);
toolBar.getChildren().addAll(hpls);
toolBar.getChildren().add(createSpacer());

//set action for the button
showPrevDoc.setOnAction(new EventHandler() {
@Override
public void handle(Event t) {
webEngine.executeScript("toggleDisplay('PrevRel')");
}
});

smallView.setPrefSize(120, 80);

//handle popup windows
webEngine.setCreatePopupHandler((PopupFeatures config) -> {
smallView.setFontScale(0.8);
if (!toolBar.getChildren().contains(smallView)) {
toolBar.getChildren().add(smallView);
}
return smallView.getEngine();
});

//process history
final WebHistory history = webEngine.getHistory();
history.getEntries().addListener((Change

Подробнее здесь: https://stackoverflow.com/questions/267 ... on-java-fx
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»