【问题标题】:Setting boundaries for JPanel为 JPanel 设置边界
【发布时间】:2013-07-01 16:18:27
【问题描述】:

我刚开始使用 Swings

我的要求是对齐 jpanel(panel2) 中的组件

我已经取了2个JPanels(panel1panel2)并添加到jframe

panel1.add(panel2);

panel2.setLayout(new flowLayout()); 

panel2.setBounds(80,120,100,100);

getContentPane() .add(Panel1);

我创建了一个“创建”按钮,它将在 panel2 中动态生成文本区域

现在我的问题是 如果创建的 textarea 超出panel2 它必须显示错误 消息“您已到达 jpanel 的边界,因此无法创建 textarea”

提前致谢

【问题讨论】:

  • 很难说有什么利器,有panel1和Panel1,哪里是真的,那么可能一切都是猜测,为了更好的帮助早点发SSCCE,短可运行,可编译,就JFrame和上午 JPanels
  • 问题是为什么?你想做什么?
  • 我试图确保动态创建的 textarea 将在 panel2 中使用 flowLayout 意味着我想让用户创建任意数量的 textarea 但我必须确保它在面板2
  • 我不想将 JScrollbar 或 JScrollpane 添加到 panel2(如果可能)。我只想在 panel2 中显示动态文本区域。
  • 你为什么不计算你正在添加的 JTextAreas 并检查你是否达到了限制?

标签: java swing jpanel jtextarea


【解决方案1】:

在向面板添加任何元素之前设置布局。不,不要打电话给setBounds,因为布局管理器可能根本没有效果。

我无法解释如何布局您的元素,因为您的问题似乎无法弄清楚您想要做什么。最好,发布带有元素的绘图,因为它们应该看起来像。 GridLayout 如果您想像表格中那样对齐多个元素,可能会很好。

【讨论】:

  • 使用网格布局的组件会占据整个区域。是否可以根据用户选择来控制组件尺寸
  • 我想发布一张关于这个问题的图片,但它显示你需要 10 个声望才能发帖,但我有 10 个声望。为什么我不能发帖
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多