当前位置: 首页 > 知识库问答 >
问题:

如何绘制Java图形的JButton前面?[副本]

戚飞
2023-03-14

我有一个自定义的JPanel类,我将它添加到我的Frame中并不断更新。这个类有一个overiddenPaintComponent和一个JButton。如何在PaintComponent中绘制的图形上绘制JButton?我经常通过一个循环更新这个paintcompomentrepaint()就是它,但是我没有更改JButton。我的自定义JPanel类是我的Main类的子类。

我的面板类

public class interTower extends JPanel implements ActionListener{
    public interTower(){
        setVisible(true);
        setPreferredSize(new Dimension(SCREENWIDTH, SCREENHEIGHT));

        JButton interTower_back = new JButton("Back");
        interTower_back.setActionCommand("interTower_back");
        interTower_back.addActionListener(this);
        add(interTower_back);
    }

    @Override

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
        drawMaster(g2d);
        g2d.dispose();

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub

    }
}

共有1个答案

任云瀚
2023-03-14

通过遵循AndrewThompson的睿智之言,我已经解决了我的问题!处理graphics对象似乎会停止按钮的呈现。删除两个对象的dispose调用似乎可以解决我的问题。谢谢AndrewThompson。

 类似资料:
  • 请问如何绘制圆环,并切除一部分呢? 圆环内部需要透明的以方便放置其他元素

  • 问题内容: 以前没有做过,所以显然我很烂。在此处,当前鼠标位置周围的64个像素会在窗体上绘制得更大一些。问题是,它有点“慢”,而且我不知道从哪里开始修复。 除此之外,我还创建了一个线程,该线程在完成时会不断调用更新图形,并像文本一样以每秒fps的速度调用,以真正显示绘制速度。 替代文字 代码示例: 所做的更改: 添加了“ gc.dispose();” 添加了“ isdone”,因此不能更快地调用重

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我想用Java绘制图形(节点和边)。但是,由于我不知道该怎么做,因此在开始之前我想寻求一些建议。 我应该怎么做? 使用Graphics2D包,对吗? 节点的标签怎么样?我应该使用诸如drawString之类的东西并手动处理所有“

  • 我有一个名为pct的数据集 我想使用ggplot2或绘图包获得正条形图和负条形图。 给定下表中的数据集 我想得到这样的东西

  • 我有一个直方图,每个面元上有4个不同的对象,它们现在相互堆叠在一起。相反,我需要在同一个直方图框中并排绘制不同的对象(类似于https://matplotlib . org/3 . 1 . 1/gallery/statistics/histogram _ multi hist . html中的左上图): ,等在同一个样本内绘制不同标准的对象(和)。我看的所有示例都与我需要的略有不同,找不到正确的方

  • 问题内容: 我正在尝试使Java 2D图形“ hello world”运行起来,并发现它异常困难(即,我正在搜索“ java hello world example”的变体,然后变成空白)。有人能帮我举一个最小的世界范例吗? 编辑 不过,这是一个不错的起点,“ Java教程:执行自定义绘画” 。 问题答案: 要在Swing中绘制矩形,您应该: 首先,永远不要直接在JFrame或其他顶级窗口中绘制。