我正在用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();
}
});
}
}
我做错了什么? :(
答案 0 :(得分:2)
您要将滚动窗格添加到框架。
frame.add(scroll);
但您应该将滚动窗格添加到jpanel并添加窗格以滚动窗格。您已完成该部分。
所以删除这条不正确的行。
frame.add(scroll);
this is complete code without using extends jframe。
this is complete code using extends jframe
注意:您已经通过jframe类扩展了类,但是您正在创建一个新框架。您不需要创建框架变量。您可以删除扩展部分或直接将您的类用作jframe而无需创建新的帧。