【问题标题】:Java GUI JScrollPaneJava GUI JScrollPane
【发布时间】:2013-05-22 18:17:21
【问题描述】:

我是编程的初学者,我想向 JTextArea 添加一个滚动面板,所以我尝试在线研究教程。我遵循了这些示例,但它不起作用,有人可以告诉我我做错了什么。非常感谢

    public View(Model model) {
    this.model = model;
    setBounds(100,50, 800, 400);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    Container c =  getContentPane();
    addDisplay(c);
    addButtons(c);
    addTxt(c);

}

private void addDisplay(Container c){
    JPanel p = new JPanel();
    addTxt2(p);
    addTxt(p);
    add(p, "North");

}

    private void addTxt(JPanel p){
        txt = new JTextArea(15, 35);
        txt.setBackground(Color.BLACK);
        txt.setForeground(Color.WHITE);
        txt.setEditable(true);  

        JScrollPane scroll= new JScrollPane (txt);
        p.add(scroll); 


}

【问题讨论】:

  • 你做错了什么并不是告诉我们出了什么问题。
  • 定义“不工作”。
  • 它只是没有做任何事情,比如滚动部分不存在
  • 请粘贴SSCCE以获得更好的帮助
  • 您的p 的layout 是什么?

标签: java eclipse swing user-interface jscrollpane


【解决方案1】:

在将任何组件添加到 JPanel 后,始终调用 revalidate 和 repaint

p.add(scroll); 
p.revalidate();
p.repaint();

从setBounds的使用来看,似乎没有使用布局管理器。不要使用绝对定位(null 布局)。默认情况下,组件的大小为0 x 0,因此除非设置了大小,否则不会出现。此处应使用布局管理器。

尽快发布SSCCE 以获得更好的帮助

【讨论】:

  • 我试过了,但还是一样。 txt 区域还在变长。
  • 您没有使用null 布局吗?如果是这样,则需要明确设置组件的大小。这就是为什么使用布局管理器总是更好的原因
  • @user2410760 再次重复 请粘贴 SSCCE 以获得更好的帮助,重要的是信息是否已添加到已经可见的 contianer 或
【解决方案2】:

您必须设置滚动的边界setBounds(int, int, int, int) 并定义JTextArea的区域

这是一个例子:

public class ScrollingTextArea extends JFrame {

    JTextArea txt = new JTextArea();
    JScrollPane scrolltxt = new JScrollPane(txt);

    public ScrollingTextArea() {

        setLayout(null);

        scrolltxt.setBounds(3, 3, 300, 200);
        add(scrolltxt);     
    }


    public static void main(String[] args) {

        ScrollingTextArea sta = new ScrollingTextArea();
        sta.setSize(313,233);
        sta.setTitle("Scrolling JTextArea with JScrollPane");
        sta.show();     
    }

}

我找到了here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 2014-04-19
    • 1970-01-01
    相关资源
    最近更新 更多