Java 刷新JScrollPane
我有个问题;我希望你能帮助我:) 我想刷新JScrollPane。我编写了一个示例程序,展示了我想做的事情:Java 刷新JScrollPane,java,swing,jscrollpane,jtextarea,caret,Java,Swing,Jscrollpane,Jtextarea,Caret,我有个问题;我希望你能帮助我:) 我想刷新JScrollPane。我编写了一个示例程序,展示了我想做的事情: import javax.swing.JTextArea; import javax.swing.JScrollPane; import javax.swing.JPanel; import javax.swing.JFrame; public class ScrollEx extends JFrame{ private static final long serialVers
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
public class ScrollEx extends JFrame{
private static final long serialVersionUID = 1L;
private JPanel panel = new JPanel();
private JTextArea area = new JTextArea(15, 20);
private JScrollPane scroll = new JScrollPane(area);
public ScrollEx(){
super("JScrollPane Test!");
setSize(300, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
this.panel.setSize(300, 300);
this.panel.add(scroll);
for(Integer i = 0; i <= 50; i++){
this.area.append(i.toString() + "\n");
}
getContentPane().add(panel);
setVisible(true);
}
public static void main(String [] args){
new ScrollEx();
}
}
import javax.swing.JTextArea;
导入javax.swing.JScrollPane;
导入javax.swing.JPanel;
导入javax.swing.JFrame;
公共类ScrollEx扩展了JFrame{
私有静态最终长serialVersionUID=1L;
private JPanel panel=new JPanel();
私人JTextArea=新JTextArea(15,20);
私有JScrollPane滚动=新JScrollPane(区域);
公共ScrollEx(){
超级(“JScrollPane测试!”);
设置大小(300300);
setDefaultCloseOperation(关闭时退出);
该面板设置尺寸(300300);
此.panel.add(滚动);
对于(整数i=0;i
但是,这种打印超出了JTextArea的界限,JScrollPane不会自行刷新
将显示所有数据。如果您的意思是希望滚动窗格自动滚动以查看添加的最后一行,请查看有关发生的情况和解决方案的说明。可能不是直接问题,但是,JPanel
默认使用FlowLayout
,请尝试更改为BorderLayout
1)不要扩展框架或其他顶级容器。而是创建并使用其中一个容器的实例。2)不要设置顶级容器的大小。而是布局内容并调用pack()
.3)应在EDT上创建并更新Java GUI。非常感谢您的回复!事实上,我的意思是:自动滚动以查看添加的最后一行…我正在检查您放置在此处的链接。