0

私はJavaFXコントロールを使用してswingアプリケーションに取り組んでいます。このアプリケーションでは、3つのコントロールボタンWebViewとがありJTableます。テーブルをクリックするbutton1と画面に追加され、Webビューが削除され、他のボタンをクリックするとテーブルが削除され、Webビューが追加されます。

私は次のコードを使用しています。

  import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.web.*;
import javafx.stage.Stage;
import javafx.embed.swing.JFXPanel; 
import javafx.scene.Group;
import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
 public class webviewtestclass extends JFrame implements ActionListener {
 JFXPanel fxpanel,fxpanel1;
 static String filepath;
JTable table;
  public  webviewtestclass()
  {
    setLayout(null);
    JButton b1= new JButton("OK");
    JButton b2= new JButton("OKK");
    add(b1);
    add(b2);
    b1.setBounds(20,50,50,30);
    b2.setBounds(70,50,50,30);
   b1.addActionListener(this);
   b2.addActionListener(this);

   fxpanel= new JFXPanel();
   add(fxpanel);
   fxpanel.setBounds(10,50,1000,800);


   Object obj=new Object[50][20];
   String title[]={"head1","head2"};
    table=new JTable(title,obj);
   add(table);


 }

   public void actionPerformed(ActionEvent ae)
   {
   if(ae.getActionCommand().equals("OK"))
    {
     remove(fxpanel);
      add(table);   

     }
     if(ae.getActionCommand().equals("OKK"))
     {
      remove(table);
      add(fxpanel);   

    }
     Platform.runLater(new Runnable() {
     public void run()
      {
        initFx(fxpanel);
      }}
        );
     }



  private static void initFx(final JFXPanel fxpanel)
  {
    String htmlpath="d:/lcrux/html/";
    Group group= new Group();
    Scene scene= new Scene(group);
    fxpanel.setScene(scene);    
    WebView webview = new WebView ();
    group.getChildren().add(webview);
    webview.setMinSize(1200,800);
     webview.setMaxSize(1200,800);  

      webview.setVisible(true);
      final WebEngine eng = webview.getEngine();
      File htmlFile = new File(htmlpath+filepath);
        try
        {
        eng.load(htmlFile.toURI().toURL().toString());
        }
        catch(Exception ex)
        {
        }
    }
  public static void main(final String args[])
    {


         webviewtestclass frm=new webviewtestclass();
         frm.show();

    }


  }
4

1 に答える 1

2

両方のコンポーネントをに入れて、CardLayoutそれらを交換します。を使用したコードは、この回答CardLayoutで確認できます。

于 2012-12-01T04:34:54.190 に答える