java - 如何调整 JTextArea 的大小以适应 JFrame 的百分比
问题描述
这绝对是一个菜鸟问题。如何调整两个 JTextArea 面板的大小,使它们看起来像这样:
aaaaaaaaaaaaaa
a a a
a a a
a a a
aaaaaaaaaaaaaa
第一个区域的宽度约为第二个的十分之一。我还必须将它包含在一个新的滚动窗格中,但我已经处理好了。调整大小功能似乎不起作用。
解决方案
创建文本区域时,您使用以下内容:
JTextArea textArea1 = new JTextArea(10, 10);
JTextArea textArea2 = new JTextArea(10, 80);
这两个数字为每行中的行数和字符数提供了建议。
然后将它们添加到滚动窗格中:
JPanel panel = new JPanel();
panel.add(textArea1);
panel.add(textArea2);
JScrollPane scrollPane = new JScrollPane( panel );
frame.add(scrollPane):
上面的代码将为您提供固定大小的文本区域。
或者,如果您真的想按百分比进行操作并允许文本区域动态增长/缩小,您可以使用:
JTextArea textArea1 = new JTextArea(10, 1);
JTextArea textArea2 = new JTextArea(10, 1);
然后使用具有适当约束的 GridBagLayout 将它们添加到 JPanel。您需要使用: 1. “填充”约束,允许文本区域随着可用空间的增长而增长。2.“weightx”约束。这将允许您以所需的百分比分配额外的空间。
阅读 Swing 教程中有关如何使用 GridBagLayout的部分以获取更多信息和工作示例。
推荐阅读
- php - Laravel 根据变量是否为 null 执行 where 条件
- amazon-web-services - 如何在 CDK 中为基于 Lambda 的 APIGateway 提供自定义域名?
- c++ - 方法调用中带有字符串文字的 C++ const char*
- react-native - 无法在本机反应中更新状态值
- python - 如果没有,如何让 python 脚本执行另一个命令?
- google-apps-script - 如何使用脚本构建条件格式?
- python - Heroku忽略runtime.txt文件
- oauth-2.0 - 从googleapis登录获取用户国家
- vba - 尝试在 Microsoft Word (VBA) 中删除包含文本框中特定文本的页面
- python - 初学者。在 python 中绘图无法识别指数之后的任何内容