我有一个 Java 应用程序,它在 JFrame 中有一个 JTabbedPane。
我想模拟 Firefox 选项卡。当您运行一个小程序时,它会以某种方式为该小程序启动一个新进程,而当您终止该选项卡时,该进程就会终止。我想为组件类做这个。
目前我有:
package pkgmessaging;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import java.util.ArrayList;
public class Frame extends javax.swing.JFrame {
private final JTabbedPane TabPane = new JTabbedPane();
private ArrayList<Message> Messages = new ArrayList<>();
public Frame() {
this.add(TabPane);
this.pack();
this.setVisible(true);
this.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
}
public void addMessage() {
//Message is a JPanel that holds other components.
Message C = new Message(); //Some how create this in a new Process/JVM and add it to my JTabbedPane.
this.Messages.add(C);
this.addTab(TabPane, "One", C);
this.pack();
}
private void addTab(final String Title, final Component component) {
//To other stuff here..
CloseButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
synchronized (Frame.this.TabPane) {
TabPane.remove(component);
//Some how close the process/jvm here.
}
}
});
}
}
那么如何在新进程/jvm 中运行一个类并将其添加到我的 JTabbedPane 中?我需要 JNI 吗?如果是这样,我会看什么?我只需要知道在哪里寻找以及如何开始。