2013-01-03 129 views
-1

我不知道我是否错过了某个东西或者这是一个错误。
我已经创建了一个包含几个JTextArea的
但滚动面板,让我只滚动到22行面板,但也有70线
当我调整框架,滚动面板调整大小也和我可以看到比当更多的行我只使用滚动条向下滚动。JScrollPane不覆盖整个JPanel

没关系内

状态1的代码:Image

状态2:Image

有70行! 但我不能滚动到他们

有什么建议吗?


我只设置了rowheaderView:

jScrollPane1.setRowHeaderView(codeTextArea2.getRowNumbers()); 

而且viewportView:

jScrollPane1.setViewportView(codeTextArea2); 

codeTextArea2是扩展JPanel并包含若干的JTextArea

+5

您的问题没有足够的信息让我能够回答,但我有一个猜测:您没有使用*** null布局***在任何地方?如果是这样,请删除它并使用JScrollPane可以处理的有效布局。此外,''不要介意里面的代码''我们是一个严重的伤害。你怎么能说当你不知道是什么导致你的问题? –

+3

另外,你可以设置viewportView组件的大小或首选大小吗? –

+0

非常感谢,这是一个使用null布局的组合,并设置首选大小 – user1675503

回答

4

+1到自定义类HFOE意见

没关系内

我们很介意里面的代码的原因代码:

这似乎为我工作的罚款,我没有你的代码我模拟了我,虽然你在最简单​​的形成。

只需JPanel类,其保持单JTextArea用70行和20列,每列由简单append(..)给出了一些关于正常大小和最大化的行数不似乎改变

enter image description here

(此一个是一个完整的unresized屏幕截图太大)

enter image description here

import java.awt.BorderLayout; 
import java.awt.Dimension; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 
import javax.swing.JTextArea; 
import javax.swing.SwingUtilities; 

public class Test { 

    public Test() { 
     createAndShowGui(); 
    } 

    private void createAndShowGui() { 
     JFrame frame = new JFrame(); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     MyPanelTextAreas panelWithTextAreas = new MyPanelTextAreas(); 

     JScrollPane jsp = new JScrollPane(panelWithTextAreas); 
     jsp.setPreferredSize(new Dimension(500, 400));//dont want it too big 

     frame.add(jsp); 

     frame.pack(); 
     frame.setVisible(true); 

    } 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       new Test(); 
      } 
     }); 
    } 
} 

class MyPanelTextAreas extends JPanel { 

    JTextArea area = new JTextArea(70, 20); 

    public MyPanelTextAreas() { 
     setLayout(new BorderLayout()); 
     add(area); 
     for (int i = 1; i <= 70; i++) { 
      area.append((i == 1 ? "" : "\n") + i); 
     } 
     area.setCaretPosition(1); 
    } 
} 
+3

+1内容_matters_! – trashgod