TextArea

时间:2016-09-20 00:14:23

标签: java jframe

好的,我在这个网站上已经阅读了关于这个主题的几乎所有主题,但是说实话它们都让我感到困惑,而且我的代码都没有。 我创建了一个简单的TextArea

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

然后使用此行创建Scrollpane并将其添加到TextArea

JScrollPane sp=new JScrollPane(ttt,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

然后将其添加到我的JFrame

myForm.add(sp); 

当我读到大多数线程时,这段代码应该正常工作,但事实并非如此。在我尝试添加ScrollPane之前,TextArea显示在框架上,但现在整个TextArea都没有显示。谢谢。

编辑;这是我的主要例子,不工作

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个文本字段,按钮和textarea image

编辑3;

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);


    }
}

2 个答案:

答案 0 :(得分:0)

实例化TextArea

render() {
    return <div>
        <div onClick={ this.performLongRunningAction }>click me</div>
        { this.state.spinnerVisible ? 'Loading' : null }
    </div>
}

performLongRunningAction() {

    // First show the spinner...
    this.setState({ spinnerVisible: true }, () => {

        // Then after state has been set and spinner rendered, start the
        // long action
        executeLongRunningActionNow();

    });

}

// Then you need some mechanism to turn off the spinner state after the
// task has completed
componentWillReceiveProps( nextProps ) {

    // Did a task execute? Turn off the spinner before the next render
    if( nextProps.someCompletedFlag !== this.props.someCompletedFlag ) {
        this.setState({ spinnerVisible: false });
    }

}
  

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

if(isNaN(updateno)){
                alert("YOU HAVE TO INPUT NUMBER VALUE");
}

答案 1 :(得分:0)

您正在使用

设置布局
<div class="container">
    <div class="row">
      <div class="col-md-4">
          <div class="col-md-12"></div>
          <div class="col-md-12"></div>
      </div>
      <div class="col-md-8"></div>
    </div>
    <div class="row">
      <div class="col-md-4"></div>
       <div class="col-md-2"></div>
      <div class="col-md-6"></div>
   </div>
</div>

然后用

删除它
myForm.setLayout(new GridLayout(4,2));

删除此行,您将看到文本区域。

您可能还想在显示框架之前调用myForm.setLayout(null);