我创建了一个浏览器&我想用一个组合框打开几个站点 [英] I Have Created A Browser & I Want To Add Only Few Sites To Open With A Combo-Box

查看:95
本文介绍了我创建了一个浏览器&我想用一个组合框打开几个站点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

import java.awt.Dimension;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class JavaFX {

    private static String[] urlList = {"http://www.google.com", "https://paytm.com", "http://www.worthindore.com/", "http://www.facebook.com"};
    private static String scUrlCurrent = urlList[0];
    private static JComboBox urlCombo;

    private static void initAndShowGUI() {
        JFrame frame = new JFrame("FX");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null); // do the layout manually
        final JButton jButton = new JButton("Button");
        final JFXPanel fxPanel = new JFXPanel();
        urlCombo = new JComboBox(urlList);
        frame.add(jButton);
        frame.add(urlCombo);
        frame.add(fxPanel);
        frame.setVisible(true);
        urlCombo.setSize(new Dimension(400, 27));

        urlCombo.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Object selectedItem = urlCombo.getSelectedItem();
                scUrlCurrent = selectedItem.toString();
                System.out.println("Current Urllll=" + scUrlCurrent);
            }
        });

        fxPanel.setSize(new Dimension(800, 800));
        fxPanel.setLocation(new Point(0, 27));
        frame.getContentPane().setPreferredSize(new Dimension(800, 600));
        frame.pack();
        frame.setResizable(false);

        Platform.runLater(new Runnable() { // this will run initFX as JavaFX-Thread
            @Override
            public void run() {
                initFX(fxPanel);
            }
        });
    }

    /* Creates a WebView and fires up google.com */
    private static void initFX(final JFXPanel fxPanel) {
        Group group = new Group();
        Scene scene = new Scene(group);
        fxPanel.setScene(scene);
        WebView webView = new WebView();
        group.getChildren().add(webView);
        webView.setMinSize(800, 600);
        webView.setMaxSize(800, 600);
        // Obtain the webEngine to navigate
        WebEngine webEngine = webView.getEngine();
        System.out.println("Current Url=" + scUrlCurrent);
        webEngine.load(scUrlCurrent);
    }
    /* Start application */

    public static void main(final String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                initAndShowGUI();
            }
        });
    }
}

推荐答案

如果没有例外,我仍然会在答案中采取行动< br $>


Without the exception I'm still going to take a punt at the answer

Object selectedItem = urlCombo.getSelectedItem();
scUrlCurrent = selectedItem.toString();





尝试将其更改为





try changing that to

scURLCurrent = (String) urlCombo.getSelectedItem();





看看是否有帮助



/ Darren



See if that helps

/Darren


这篇关于我创建了一个浏览器&amp;我想用一个组合框打开几个站点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆