我的JScrollPane打开但非常小。我已经尝试在JTextArea和JScrollPane上使用setPreferredSize,但是当我将JScrollPane添加到我的FlowLayout面板时,它仍然非常小。如果没有JScrollPane,我的JTextArea将打开正确的大小。使用JScrollPane,我得到一个非常小的JTextArea。此外,尝试setBorder只会导致我的程序挂起。任何帮助,将不胜感激。 (我正在使用Netbeans 8.0.1)
代码取消:
// Create the array manipulator display using JTextArea
JTextArea display = new JTextArea(5, 40);
//private final JScrollPane displayScroller;
JScrollPane displayScroller = new JScrollPane();
// Create arrays for the dimensions of the buttons and displays
int[] dimW ={300, 45, 100, 90, 190, 240, 500};
int[] dimH = {35, 40, 10};
// Declare and initialize the dimensions for the components
Dimension displayDimension = new Dimension(dimW[1], dimH[0]);
// Establish variable for Window and Panel Layout
FlowLayout f1 = new FlowLayout(FlowLayout.CENTER);
row[0] = new JPanel();
row[0].setLayout(f1);
// Create Array Manipulator display area
display.setFont(font);
display.setEditable(false);
display.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
display.setPreferredSize(displayDimension);
display.setLineWrap(true);
display.setWrapStyleWord(true);
// Create display area scroller
displayScroller = new JScrollPane(display);
displayScroller.setPreferredSize(displayDimension);
row[0].add(displayScroller);
add(row[0]);
答案 0 :(得分:0)
我明白了。我看到我的setPreferredSize选项非常小,这就是JScrollPane开小的原因。我的JTextArea使用了相同的displayDimension,但是当我创建JTextArea时,我为JTextArea建立了一个更大的大小。由于某些未知原因,我的JTextArea不接受较新的setPreferredSize并且正在维护实例化期间建立的大小。我使用;
调整了我的JScrollPane的大小 displayScroller.setPreferredSize(new Dimension(640,90));
现在工作正常。