Java 将大文本解析为文本字段,如何设置文本开头的视图位置
在本例中,当解析大文本时,它的文本字段“仍然爱你-蝎子”如下->Java 将大文本解析为文本字段,如何设置文本开头的视图位置,java,swing,Java,Swing,在本例中,当解析大文本时,它的文本字段“仍然爱你-蝎子”如下-> . 我想,从头开始看。滚动条也有问题,使用Jlist上的JScrollPane,当它因为大文本而需要滚动时,在初始化时,它会取下滚动条,就像我为textfield描述的那样 将此代码用于textfield: textField_1 = new JTextField(); textField_1.setEditable(false); textField_1.setColumns(10);
. 我想,从头开始看。滚动条也有问题,使用Jlist上的JScrollPane,当它因为大文本而需要滚动时,在初始化时,它会取下滚动条,就像我为textfield描述的那样 将此代码用于textfield:
textField_1 = new JTextField();
textField_1.setEditable(false);
textField_1.setColumns(10);
textField_1.setBounds(149, 33, 129, 20);
frame.getContentPane().add(textField_1);
框架,具有绝对布局:
frame = new JFrame();
frame.setBounds(100, 100, 317, 516);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
您只需添加以下行:
textfield_1.setCaretPosition ( 0 );
此外,不应尽可能多地使用绝对定位
虽然可以不使用布局管理器,但如果可能的话,应该使用布局管理器。布局管理器可以更轻松地调整依赖于外观的组件外观、不同的字体大小、容器不断变化的大小以及不同的区域设置。布局管理器也可以被其他容器以及其他程序轻松重用
有关更多信息,请查看
编辑1:
关于JScrollPane
我们可以通过两种方式实现这一目标:
1.在JScrollPane
上使用,setPreferredSize(…)
,例如:
2.或者可以为所述JComponent
重写,getPreferredSize()
,如:
我现在试过了,因为我没有在初始化时放置文本,所以我需要在每次解析时(程序运行时(从数据库获取文本)),在那一行之后,再加上这一行(setCaretPosition),有没有其他解决方案,比如在初始化文本字段上只设置一次?如果你能告诉我如何使用滚动条?Naa,但是您可以保留这一行,在这里您可以实际获取
JTextField
的文本。关于JScrollPane
“滚动条也有问题,使用Jlist上的JScrollPane,当它需要滚动时,因为大文本,初始化时,它会向下滚动,就像我为textfield描述的那样。”@RadijatoR:请查看最新编辑。希望这能有所帮助
myList = new JList ( listData );
JScrollPane listScroller = new JScrollPane ();
listScroller.setViewportView ( myList );
listScroller.setPreferredSize ( new Dimension ( 100, 100 ) ) ;
contentPane.add ( listScroller );
myList = new JList ( listData );
JScrollPane listScroller = new JScrollPane () {
@Override
public Dimension getPreferredSize () {
return new Dimension ( DIMENSION, DIMENSION );
}
};
listScroller.setViewportView ( myList );
contentPane.add ( listScroller );