package com.softline.http;import java.awt.Font;import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;public class sample extends JFrame{
    
private static final long serialVersionUID = 1L;

public static void main(String[] args) {
new sample().doit();  
}
public void doit(){

this.setLayout(null);

Font font = new Font("宋体",Font.PLAIN,15);

JLabel jl_type = new JLabel("类型:",SwingUtilities.RIGHT);
jl_type.setFont(font);
jl_type.setBounds(10, 15, 50, 20);

JLabel jl_date = new JLabel("时间:",SwingUtilities.RIGHT);
jl_date.setFont(font);
jl_date.setBounds(10, 55, 50, 20);

JLabel jl_content = new JLabel("内容:",SwingUtilities.RIGHT);
jl_content.setFont(font);
jl_content.setBounds(10, 95, 50, 20);


JTextField jtf_type = new JTextField();
jtf_type.setBounds(80, 15, 180, 20);
jtf_type.setText("123");

JTextField jtf_date = new JTextField();
jtf_date.setBounds(80, 55, 180, 20);
jtf_date.setText("124");

JTextArea jtf_content = new JTextArea();
jtf_content.setBounds(80, 95, 180, 150);
jtf_content.setText("888");
jtf_content.setLineWrap(true);

//这里加入了JScrollPane,然后把我的JTextArea加进去
JScrollPane js = new JScrollPane();
js.add(jtf_content);

this.add(jl_type);
this.add(jl_date);
this.add(jl_content);
this.add(jtf_type);
this.add(jtf_date);
//这里再把JScrollPane加到JFrame
//可是郁闷的是运行后整个JTextArea没有了
this.add(js);

this.setLocation(350, 200);
this.setSize(300, 300);

this.setVisible(true);
}
    
}
代码如上,不要修改我的布局,我想实现在Jtextare上加个滚动条,请高手帮忙,谢谢

解决方案 »

  1.   

    楼主方式不对,我帮你写了下,
    public Sample() {
    jfmain = new JFrame();
    jp = new JPanel();
    jp.setLayout(new GridBagLayout());
    GridBagConstraints gbs = new GridBagConstraints();
    gbs.anchor = GridBagConstraints.WEST;
    Font font = new Font("宋体", Font.PLAIN, 15); jl_type = new JLabel("类型:");
    jl_type.setFont(font);
    jl_type.setPreferredSize(new Dimension(50, 20));
    gbs.insets = new Insets(15, 20, 0, 0);
    gbs.gridx = 0;
    gbs.gridy = 0;
    jp.add(jl_type, gbs); jl_date = new JLabel("时间:");
    jl_date.setFont(font);
    jl_date.setPreferredSize(new Dimension(50, 20));
    gbs.insets = new Insets(15, 20, 0, 0);
    gbs.gridx = 0;
    gbs.gridy = 1;
    jp.add(jl_date, gbs); gbs.anchor=GridBagConstraints.NORTHWEST;
    jl_content = new JLabel("内容:");
    jl_content.setFont(font);
    jl_content.setPreferredSize(new Dimension(50, 20));
    gbs.insets = new Insets(15, 20, 0, 0);
    gbs.gridx = 0;
    gbs.gridy = 2;
    jp.add(jl_content, gbs); gbs.anchor=GridBagConstraints.WEST;
    jtf_type = new JTextField();
    jtf_type.setPreferredSize(new Dimension(180, 20));
    gbs.insets = new Insets(15, 10, 0, 30);
    gbs.gridx = 1;
    gbs.gridy = 0;
    jp.add(jtf_type, gbs); jtf_date = new JTextField();
    jtf_date.setPreferredSize(new Dimension(180, 20));
    gbs.insets = new Insets(15, 10, 0, 30);
    gbs.gridx = 1;
    gbs.gridy = 1;
    jp.add(jtf_date, gbs); jtf_content = new JTextArea();
    jsp = new JScrollPane(jtf_content);
    jsp.setPreferredSize(new Dimension(180, 150));
    gbs.insets = new Insets(15, 10, 30, 30);
    gbs.gridx = 1;
    gbs.gridy = 2;
    jp.add(jsp, gbs); jfmain.add(jp); jfmain.setSize(1024, 768);
    jfmain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jfmain.setVisible(true);
    jfmain.pack();
    jfmain.setLocationRelativeTo(null); }
      

  2.   

    如果不使用布局管理器,你得给你的JScrollPane设置位置和尺寸,默认是0x0.当然什么都看不到了正如你需要给其它组件 setBounds 一样
      

  3.   

    new JScrollPane(new TextArea())