首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JScrollPane在TextArea上

JScrollPane在TextArea上
EN

Stack Overflow用户
提问于 2016-09-20 00:14:22
回答 2查看 468关注 0票数 0

好吧,我在这个网站上读过几乎所有关于这个主题的文章,但在我看来,说实话,它们都是令人困惑的,而且它们都不适用于我的代码。我创建了一个简单的TextArea

代码语言:javascript
复制
JTextArea ttt=new JTextArea("");
ttt.setSize(500, 300);
ttt.setLocation(10, 100);
ttt.setEditable(false);

然后用这一行创建滚动窗格,并将其添加到TextArea中。

代码语言:javascript
复制
JScrollPane sp=new JScrollPane(ttt,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

然后将它添加到我的JFrame中

代码语言:javascript
复制
myForm.add(sp); 

正如我在大多数线程上看到的那样,这段代码应该是工作的,但它不是。在我尝试添加TextArea之前,框架上显示了ScrollPane,但现在整个TextArea甚至没有显示出来。谢谢。

编辑;这里是我的主要工作,例如,不起作用

代码语言:javascript
复制
public class Test2 {

    public static void main(String[] args) {
        JFrame myForm=new JFrame("Connect-4");
        myForm.setLayout(new GridLayout(4,2)); // assign layout
        myForm.setSize(new Dimension(500,400)); // size

        JTextArea ttt = new JTextArea (3,3 );
        ttt.setEditable(false);
        //ttt.setSize(500, 300);
        //ttt.setLocation(10, 100);     
        JScrollPane sp=new JScrollPane(ttt,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        myForm.add(sp);

        myForm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        myForm.setLayout(null);
        myForm.setVisible(true);

    }
}

编辑2;2 Jlabel,2个textfield,按钮和textarea 图像

编辑3;

代码语言:javascript
复制
public class Test2 {

    public static void main(String[] args) {
                JButton button=new JButton("Add");
        //button.setSize(100, 50);
        //button.setLocation(450, 40);


        JTextField tf1=new JTextField();
        tf1.setSize(150, 30);
        tf1.setLocation(70, 52);


        JLabel l1=new JLabel("Name");
        //l1.setSize(51, 50);
        //l1.setLocation(10, 40);
        l1.setFont(new Font("", Font.PLAIN, 20));


        JTextField tf2=new JTextField();
        tf2.setSize(150, 30);
        tf2.setLocation(285, 52);

        JLabel l2=new JLabel("Phone");
        l2.setSize(55, 50);
        l2.setLocation(225, 40);
        l2.setFont(new Font("", Font.PLAIN, 20));

        //////
        JTextArea ttt=new JTextArea("");
        ttt.setSize(500, 300);
        ttt.setLocation(10, 100);

        JPanel panel1=new JPanel(new FlowLayout());
        panel1.add(l1);
        panel1.add(tf1);
        panel1.add(l2);
        panel1.add(tf2);    
        panel1.add(button);


        JPanel panel2=new JPanel();
        panel2.add(new JButton("FSFSD"));
        panel2.add(new JButton("RIGHT"));

        JPanel all=new JPanel(new BorderLayout());
        all.add(panel1, BorderLayout.NORTH);
        all.add(ttt, BorderLayout.CENTER);

        JFrame frame=new JFrame();
        frame.setContentPane(all);
        //frame.add(all);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 500);
        frame.setVisible(true);


    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-20 07:52:27

您正在设置一个布局

代码语言:javascript
复制
myForm.setLayout(new GridLayout(4,2));

然后用

代码语言:javascript
复制
myForm.setLayout(null);

删除这一行,您将看到您的文本区域。

还可以在显示框架之前调用myFrame.pack()

票数 0
EN

Stack Overflow用户

发布于 2016-09-20 00:34:10

实例化TextArea

代码语言:javascript
复制
JTextArea ttt = new JTextArea (3,3 );
ttt.setEditable(false);
JScrollPane sp=new JScrollPane(ttt,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
myJFrame.add(sp);

验证您的JFrame是否包含合适的布局以及宽度和高度,例如

代码语言:javascript
复制
myJFrame.setLayout(new GridLayout(4,2)); // assign layout
myJFrame.setSize(new Dimension(500,400)); // size
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39583863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档