我正在用 Java 创建一个记事本程序,并且希望为每个打开的文档提供不同的选项卡。我无法显示选项卡。到目前为止,这是我的测试文档,我首先查看了这里,然后将其修改为文本文档。 How to add a JScrollPane onto a JTabbedPane using a null layout? .
这是我目前拥有的:
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();
}
});
}
}
我做错了什么? :(
最佳答案
您正在向框架添加滚动 Pane 。
frame.add(scroll);
但是您应该将滚动 Pane 添加到 jpanel 并将 Pane 添加到滚动 Pane 。您已经完成了该部分。
所以删除这个不正确的行。
frame.add(scroll);
this is complete code without using extends jframe .
this is complete code using extends jframe
注意:您已经通过 jframe 类扩展了您的类,但您正在创建一个新框架。您不需要创建框架变量。您可以删除扩展部分或直接使用您的类作为 jframe 而不创建新框架框架。
关于java - 如何在 Java 中为 ScrollPane 和 TextPane 提供 TabPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31629712/