这是我的代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class testFrame extends JFrame {
public void draw(){
setTitle("Asd");
setVisible(true);
setSize(800, 600);
Container cp = this.getContentPane();
cp.setLayout(new BorderLayout());
JScrollPane jp = new JScrollPane();
JTextArea ta = new JTextArea(5, 20);
ta.setVisible(true);
jp.add(ta);
cp.add(jp);
}
public static void main(String argz[]){
testFrame a = new testFrame();
a.draw();
}
}
然而,当我运行它时,我无法看到JTextArea!
首先,我获取了我的框架的contentpane并将其布局设置为Borderlayout然后我创建了一个scrollpane并添加了一个textarea。但是,当我运行它时,我无法看到JTextarea!
答案 0 :(得分:3)
jp.add(ta);
不要将组件添加到JScrollPane。
而是将组件添加到滚动窗格的视口中:
jp.setViewportView( ta );
或者更简单的方法是使用文本区域作为参数创建滚动窗格:
JTextArea ta = new JTextArea(5, 20);
JScrollPane jp = new JScrollPane( ta );
cp.add( jp );