将大文本解析为文本字段,如何在文本开头设置视图位置

时间:2015-04-12 12:01:45

标签: java swing

在这种情况下解析大文本时,它仍然是“仍然爱你 - 蝎子”到textfield它看起来像这样 - > enter image description here。我想,从头开始查看。还有滚动条的麻烦,在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);

1 个答案:

答案 0 :(得分:2)

您只需添加以下行:

textfield_1.setCaretPosition ( 0 );

此外,不应该尽可能多地使用Absolute Positioning

虽然可以不使用布局管理器,但是如果可能的话,应该使用布局管理器。布局管理器可以更轻松地调整依赖于外观的组件外观,不同的字体大小,容器的大小变化以及不同的区域设置。布局管理器也可以被其他容器以及其他程序轻松地重用

有关详细信息,请查看Absolute Positioning Doc

编辑1:

关于JScrollPane

可以通过两种方式实现这一目标:

1.在setPreferredSize ( ... )上使用JScrollPane,如:

myList = new JList ( listData );
JScrollPane listScroller = new JScrollPane ();
listScroller.setViewportView ( myList );
listScroller.setPreferredSize ( new Dimension ( 100, 100 ) ) ;
contentPane.add ( listScroller );

2.或者可以覆盖getPreferredSize ()所述的JComponent,例如:

myList = new JList ( listData );
JScrollPane listScroller = new JScrollPane () {
    @Override
    public Dimension getPreferredSize () {
        return new Dimension ( DIMENSION, DIMENSION );
    }
};
listScroller.setViewportView ( myList );
contentPane.add ( listScroller );