JAVA:JtextArea是容器还是组件?为什么不能放在JPanel里面?

如题所述

容器也能放容器里的吧(随便说说,说错勿喷,好久没研究swing了)。

JPanel虽然能加JTextArea,不过有几点要注意,一是JPanel是布局管理器,别让其它组件把你的JTextArea覆盖了。二是如果用JPanel来放JTextArea,在构造它的时候要指定初始大小,不然会小到看不到……,比如JTextArea t = new JTextArea(4,10).不过最好用JScrollPane,因为在你的JTextArea 输入数据超长或者超过行数,是可以设置加上滑块的。而且也不用设置JTextArea的初始大小

import javax.swing.*;

public class UserLoginApp extends JFrame
{
    //如果用JPanel,这边就要指定初始大小了
    JTextArea text = new JTextArea();

    UserLoginApp(String sTitle)
    {
        super(sTitle);
        
//        JPanel panel = new JPanel();
//        panel.setBounds(100, 100, 200, 200);
//        panel.add(text, BorderLayout.CENTER);
//        this.add(panel);
        
        //如果用JPanel请删除此段start
        JScrollPane sPane = new JScrollPane(text);
        sPane.setBounds(100, 100, 200, 200);
        this.add(sPane);
        //如果用JPanel请删除此段end
        
        this.setBounds(200, 200, 400, 400);
        this.setLayout(null);
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }



    public static void main(String args[])
    {
        new UserLoginApp("用户登录");
    }
}

追问

谢谢大叔啦!

追答

你怎么知道我是大叔的,你知道的太多了……

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-27
组件,可以放在jpanel
第2个回答  2014-12-27
是组件,可以放到JPanel里面的
相似回答
大家正在搜