我的程序需要在JTextArea中滚动的JTabbedPane,并且JTabbedPane保留在JPanel中。以下是我测试过的代码。

private JTabbedPane jtab;
private JScrollPane jsp;
private JTextArea jtxta;

jtab = new JTabbedPane();
jtxta = new JTextArea();
jsp = new JScrollPane(jtxta);

jtab.addTab("[Untitle]", jsp);
main_jpn.add(jtab);

getContentPane().add(main_jpn, BorderLayout.CENTER);


但是程序运行时没有任何显示。我的程序需要什么?

最佳答案

我为你写了一个例子

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;

public class Solution extends JFrame {

private static final long serialVersionUID = 1L;
private JTabbedPane jtab;
private JScrollPane jsp;
private JTextArea jtxta;

public Solution() {
    jtab = new JTabbedPane();
    jtxta = new JTextArea();
    jsp = new JScrollPane(jtxta);
    jtab.addTab("[Untitle]", jsp);
    jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    getContentPane().add(jtab, BorderLayout.CENTER);
    this.setSize(300,400);
    this.pack();
    this.setVisible(true);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args) {
    new Solution();
}
}


结果如下所示

java - 如何在JPanel中使用JTabbedPane?-LMLPHP

最重要的是您需要设置滚动策略,保持滚动始终显示。

关于java - 如何在JPanel中使用JTabbedPane?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31901322/

10-10 07:51