【问题标题】:Java: JFrame Layout for Only Drawing?Java:仅用于绘图的 JFrame 布局?
【发布时间】:2016-02-04 10:45:48
【问题描述】:

我想根据坐标在 JFrame 上绘制我的组件。我不希望布局重新排列组件。我的项目不是 GUI,它是一个游戏,其中绘制的图像不需要布局到 UI 模式中。

是否有允许您将组件绘制到 JFrame 上而不重新排列它们的布局(或 null 布局)?​​

【问题讨论】:

  • 您为什么要使用组件而不是使用自定义绘制方法,这样您可以更好地控制所需的所有方面?查看Painting in AWT and Swing 和Performing Custom Painting 了解更多详情
  • Swing 组件被设计为在布局管理器的帮助下工作,移除它(布局管理器)会使您的工作量增加一个数量级,并且不应轻率且没有正当理由。一个更好的主意是使用自定义绘制方法,它可以让您控制实体的定位,但不会涉及手动管理组件“布局”的问题

标签: java swing layout jframe


【解决方案1】:

我一直在寻找的解决方案是让我的 Game 类继承自 JFrame,然后在 JFrame 的 paint 方法中绘制所有内容。

public class Game extends JFrame
{
...
    public void paint (Graphics g){
        //Graphics2D g2 = (Graphics2D) g;
        board.paintComponent(g);
        board.getPieceAt(0,0).paintComponent(g);
    }
...
}

【讨论】:

    猜你喜欢
    • 2012-09-24
    • 2012-01-29
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 2012-10-15
    相关资源
    最近更新 更多