如何在Java中为带有文本窗格的滚动窗格创建选项卡窗格

如何在Java中为带有文本窗格的滚动窗格创建选项卡窗格,java,jscrollpane,jtextpane,jtabbedpane,Java,Jscrollpane,Jtextpane,Jtabbedpane,我正在用Java创建一个记事本程序,希望为每个打开的文档创建不同的选项卡。我无法显示选项卡。这是到目前为止我的测试文档,所以我首先在这里查看了一下,并为文本文档修改了它 这就是我目前拥有的: import java.awt.*; import javax.swing.*; public class Test extends JFrame { private static void CreateAndShowGui() { JFrame frame = new JFr

我正在用Java创建一个记事本程序,希望为每个打开的文档创建不同的选项卡。我无法显示选项卡。这是到目前为止我的测试文档,所以我首先在这里查看了一下,并为文本文档修改了它

这就是我目前拥有的:

import java.awt.*;
import javax.swing.*;

public class Test extends JFrame {

    private static void CreateAndShowGui() {

        JFrame frame = new JFrame("Program");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JTextPane txt = new JTextPane();
        JPanel noWrapPanel = new JPanel(new BorderLayout());
        noWrapPanel.add(txt);

        JScrollPane scroll = new JScrollPane(noWrapPanel);

        JPanel topPanel = new JPanel();
        topPanel.setLayout(new BorderLayout());

        frame.add(topPanel);

        JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout());
        panel.add(scroll, BorderLayout.CENTER);

        JTabbedPane tabbedPane = new JTabbedPane();
        tabbedPane.addTab("Welcome", panel);
        topPanel.add(tabbedPane);

        frame.add(scroll);

        frame.setSize(400, 200);
        frame.setVisible(true);

    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {

            public void run() {

                UIManager.put("swing.boldmetal", Boolean.FALSE);
                CreateAndShowGui();

            }

        });

    }

}

我做错了什么(

您正在将滚动窗格添加到框架

frame.add(scroll);
但您应该将滚动窗格添加到jpanel中,并将窗格添加到滚动窗格中。您已经完成了这一部分

因此,请删除此错误的行

frame.add(scroll);

注意:您已经通过jframe类扩展了您的类,但您正在创建一个新的框架。您不需要创建框架变量。您可以删除扩展部分,也可以直接将您的类用作jframe而不创建新框架