我想从 x, y 位置 JTextArea
开始添加滚动窗口。
问题是,当我可视化代码时,它会填充 500x500 窗口,而我只想在 x、y 位置填充 200x200 的完整区域。
我做错了什么?这是我的代码:
public static void main(String args[])
{
JFrame window = new JFrame();
window.setSize(500, 500);
window.setResizable(false);
JTextArea ta = new JTextArea("Default message");
ta.setEditable(true);
JScrollPane scroll = new JScrollPane(ta);
scroll.setBounds(10,10,200,200);
window.add(scroll);
window.setVisible(true);
}
最佳答案
不要使用 setBounds() 来设置组件的大小。 Swing 使用布局管理器来调整组件的大小。
默认情况下,JFrame 使用 BorderLayout,您将组件添加到 CENTER,以便组件占用所有可用空间。
而是做类似的事情:
JTextArea text Area = new JTextArea(5, 40);
JScrollPane scrollPane = new JScrollPane( textArea );
frame.add(scrollPane, BorderLayout.NORTH);
frame.pack();
frame.setVisible();
当您显示框架时,文本区域将占据整个空间,但如果您将框架调整得更大,那么文本区域将只显示在北边,而在中心将有空白区域。
关于java - GUI JTextArea & JScrollPane & 定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20984207/