【问题标题】:Draw on one JPanel在一个 JPanel 上绘图
【发布时间】:2017-04-23 20:09:05
【问题描述】:

如何使用paintComponentJPanel 上绘画?我要绘制的面板会在中间,我不知道如何选择它并在上面画一些东西......

【问题讨论】:

  • 我建议您从Painting in AWT and SwingPerforming Custom PaintingHow to Write a Mouse Listener 开始。有无数的例子可以说明你如何做到这一点,我建议你花时间研究这个问题,尝试一些事情,如果你遇到其他问题作为一个具体问题,事实上,这个问题很宽泛,可以回答
  • 定义“绘图”。查看Custom Painting Approaches 的工作示例,展示如何在面板上绘制“矩形”。
  • 我的具体问题是在中间面板上绘制,而不是绘制过程本身。
  • @codor 那么你应该已经有一个能够被绘制到的自定义组件,你指定给 GUI 设计者使用(而不是像一个简单的JPanel),否则它不会工作。如何执行此操作取决于 GUI 编辑器。这是我们通常不建议使用它们的另一个原因
  • @codor, My specific problem refers to drawing on the middle panel, not the drawing process per se - 没有任何意义。绘图与面板相关,您不能随意绘制到任何组件。因此,如果您知道如何绘制,那么您已经知道如何绘制到面板。如果您不这样做,那么您将获得一个链接,其中包含 1) 工作示例 2) 指向 Swing 教程的链接,该教程展示了如何进行自定义绘画。所以你有很多准备工作。我们不会为您编写代码。

标签: java swing jpanel paintcomponent


【解决方案1】:

你有两个选择:

选项 1

您可以创建JPanel 的子类并覆盖paintComponent(Graphics g) 方法并在那里添加绘图逻辑。

选项 2

跟踪您添加到JFrame 或在您的情况下为JTabbedPane 的所有组件。这可以通过将Map<String, JComponent> 添加到JTabbedPane 来完成,其中每次将JComponent 添加到选项卡式窗格时,都会使用一些唯一键向Mapobject 添加一个条目。然后您可以致电map.get(name); 获取所需的JPanel

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 2021-06-24
    • 2015-04-23
    • 1970-01-01
    相关资源
    最近更新 更多