【发布时间】:2013-06-28 03:18:21
【问题描述】:
如果我有 1 个主类和 2 个子类
- 子类 1:公共类 JPanel1 扩展 JPanel {....正确初始化}
- 子类 2:公共类 JTextArea1 扩展 JTextArea {...正确初始化}
为什么我可以做 jframe1.add(new JPanel1()) 而不能做 jframe1.add(new JTextArea1())?对于正确初始化的 JFrame jframe1 = new JFrame();?
我的目标是将数据同时输出到 jpanel 和 jtextarea
【问题讨论】:
-
究竟为什么需要继承这两个类来完成这项工作?为什么单靠构图是不够的?在继续之前,您需要先问这些问题... :-) 但是,如果您没有更改
JFrame的布局,则只能在任何给定位置添加一个组件@ 987654323@。在这种情况下,两者都添加到CENTER位置。 -
此外,您是否尝试为继承类中的两个组件覆盖getPreferredSize()?如果没有,那么就这样做,并让它们返回一些真正的 Dimension 对象
like return (new Dimension(300, 300))。 -
把 JPanel 和 JTextArea 组合成一个类?我添加了它们,使得 jpanel 位于 layout.center 而 jtextarea 位于 layout.east
-
请看一下答案,我希望这能消除疑虑:-)
标签: swing jframe jpanel awt jtextarea