如何使用Eclipse在JavaGUI JTextArea中进行滚动?
我试图在如何使用Eclipse在JavaGUI JTextArea中进行滚动?,java,swing,jscrollpane,jtextarea,Java,Swing,Jscrollpane,Jtextarea,我试图在JtextArea中放置多行文本,但没有滚动,因此我无法移动查看默认JtextArea区域下方的任何数据,这是代码,textArea\u 1是JtextArea: String abc=""; for(int i=0; i<=100; i++){ abc = abc + data[i][0]+"\n"; } textArea_1.setText(abc); String abc=”“; 对于(inti=0;i,您需要考虑添加JScrollPane 链接: 滚动由JScrollPa
JtextArea
中放置多行文本,但没有滚动,因此我无法移动查看默认JtextArea
区域下方的任何数据,这是代码,textArea\u 1
是JtextArea
:
String abc="";
for(int i=0; i<=100; i++){
abc = abc + data[i][0]+"\n";
}
textArea_1.setText(abc);
String abc=”“;
对于(inti=0;i,您需要考虑添加JScrollPane
链接:
滚动由JScrollPane
处理
查看并供您自己参考,这也在中进行了演示
用示例更新
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class TestScrollPane04 {
public static void main(String[] args) {
new TestScrollPane04();
}
public TestScrollPane04() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException ex) {
} catch (InstantiationException ex) {
} catch (IllegalAccessException ex) {
} catch (UnsupportedLookAndFeelException ex) {
}
JTextArea textArea = new JTextArea(10, 20);
String abc = "";
for (int i = 0; i <= 100; i++) {
abc = abc + "This is some additional text " + i + "\n";
}
textArea.setText(abc);
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new JScrollPane(textArea));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}
导入java.awt.BorderLayout;
导入java.awt.EventQueue;
导入javax.swing.JFrame;
导入javax.swing.JScrollPane;
导入javax.swing.JTextArea;
导入javax.swing.UIManager;
导入javax.swing.UnsupportedLookAndFeelException;
公共类TestScrollPane04{
公共静态void main(字符串[]args){
新的TestScrollPane04();
}
公共TestScrollPane04(){
invokeLater(新的Runnable(){
@凌驾
公开募捐{
试一试{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}捕获(ClassNotFoundException ex){
}catch(实例化异常){
}捕获(非法访问例外){
}捕获(无支持的LookandFeelexception ex){
}
JTextArea textArea=新的JTextArea(10,20);
字符串abc=“”;
对于(int i=0;i您应该添加一个JScrollPane
JscrollPane myScroll=new JScrollPane(textArea_1);
如果您的文本大于此值,则可以通过滚动查看其他文本。默认情况下,当您设置或将文本附加到JTextArea
时,它会滚动到末尾(您可以看到,如果文本较大,则滚动条会出现)。因此,要滚动回第一行,请尝试
textArea_1.setCaretPosition(0);
请看对于我的情况,每一行都只是几个数字,这会影响什么吗?@macaugmxus请告诉我们您如何尝试将JScrollPane
添加到您的代码中,以便我们可以帮助解决问题。@macaugmxus对我来说工作得非常好。请看我的代码有contentPane.add(textArea_1);我使用windowsbuilder使gui看起来与您的示例有所不同…显示SSCCE-答案中提供的解决方案通常有效,因此您在其他地方做错了
textArea_1.setCaretPosition(0);