`
hb_keepmoving
  • 浏览: 226563 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

测试后,JScrollPane 部分用法!

阅读更多

1、定义实例:JScrollPane jsp=new JScrollPane(某个继承自JPanel类的实例 pane);
2、
设置初始大小:
jsp.setPreferredSize(new Dimension(200,200));
3、
在适当的时候(已经判断出jsp容纳不下里面的内容时)重新设置大小:jsp.setPreferredSize(一个新的
Dimension);
4、
调用
jsp.revalidate();
5、
调用
jsp.repaint();
注意:
有一个JScrollPane的成员函数是scrollRectToVisible(Rectangle rect);该成员函数能够使某一块rect在当前的滚动面板内可见,即滚动面板能够通过滚动来使得需要显示的区域(由rect界定出的那块区域)被显示。

问题:

1、在使用了JScrollPaneJTextArea中,当指定JTextArea大小后,如何使当一行的数据过长时,自动折行,而不是出现横滚动条;
2
、在使用了JScrollPaneJTable中,如何指定JTable的宽度,当大于JScrollPane的显示区域时,自动显示横滚动条,而不是压缩JTable中的每一列的宽度。
可以参照java 图形核心卷2的介绍http://ecapital.myetang.com/swing/tutorial/s02/index.html
第一个问题:
mport java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JTextArea2{
public static void main(String[] args){
JFrame f=new JFrame("JTextArea2");
Container contentPane=f.getContentPane();
contentPane.setLayout(new BorderLayout());

JPanel p1=new JPanel();
p1.setLayout(new GridLayout(1,1));
p1.setBorder(BorderFactory.createTitledBorder("
构造TextArea-使用GridLayout,ScrollBar"));

JTextArea t1=new JTextArea(5,25);
t1.setTabSize(10);
t1.setFont(new Font("
标楷体",Font.BOLD,16));
t1.setLineWrap(true);//
激活自动换行功能
t1.setWrapStyleWord(true);//
激活断行不断字功能

p1.add(new JScrollPane(t1));//
JTextArea放入JScrollPane中,这样就能利用滚动的效果看到输入超过JTextArea高度的
//
文字.
contentPane.add(p1);
f.pack();
f.show();
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
}
其实在Document中你可以更灵活的控制

第二个问题,把JTableAUTO_RESIZE_OFF
、在使用了JScrollPaneJTable中,如何指定JTable的宽度,当大于JScrollPane的显示区域时,自动显示横滚动条,而不是压缩JTable中的每一列的宽度
add the following line:
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics