【问题标题】:Assistance displaying a scroll-bar onto a JTextArea?帮助在 JTextArea 上显示滚动条?
【发布时间】:2015-03-09 10:58:05
【问题描述】:

好吧,基本上我不知道我的代码有什么问题,我正在尝试将滚动条放在 JTextAre 上,但 JTextArea 只是不断调整大小而不是滚动条开始起作用。我已将“t1”声明为私有JTextArea 字段和“s1”作为私有 JScrollPane 字段。我也有一些 GridBagConstraints,“jp”是 JPanel。这是我的代码:`

gbc.insets = new Insets(10,0,0,0);
    gbc.gridx=1;
    gbc.gridy=2;
    t1 = new JTextArea(5,15);
    s1 = new JScrollPane(t1, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

    jp.add(s1,gbc);

【问题讨论】:

  • 这一定是你没有显示的代码有问题。如果我把它(添加 GridBagConstraint gbc = new GridBagConstraint();)放到扩展 JPanel 的类中并将它添加到 JFrame 中,它工作得非常好。
  • 我将它添加到 JPanel,我的类扩展了 JFrame,也许这就是问题所在?编辑:不,不是这样。
  • 对不起,我的语法...我有一个 JPanel 子类,我在其中执行 this.add(s1,gbc) 并且这个 JPanel 对象被添加到 JFrame。 (JFrame 包含 JPanel 包含滚动的 JTextArea)。使用答案添加了演示。
  • 你的语法很好,你是对的,我的代码有问题,因为那个代码片段工作正常。
  • 为了尽快获得更好的帮助,请发布MCVE(最小完整可验证示例)或SSCCE(简短、自包含、正确示例)。

标签: java swing user-interface awt


【解决方案1】:

这是一个有效的演示:

public class White extends JPanel {
    public White(){
        setBackground( Color.BLACK );
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.insets = new Insets(10,0,0,0);
        gbc.gridx=1;
        gbc.gridy=2;
        JTextArea t1 = new JTextArea(5,15);
        JScrollPane s1 = new JScrollPane(t1, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        this.add(s1,gbc);
    }
    public void paint(Graphics g) {
        super.paint(g);
        g.setColor(new Color(0xFF, 0xFF, 0xFF));
    }
    public static void main( String[] args ){
        JFrame frame = new JFrame();
        frame.add( new White() );
        frame.setTitle( "Hello World" );
        frame.setSize( 600, 400 );
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        frame.setVisible( true );
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 2011-10-06
    相关资源
    最近更新 更多