问题标签 [paintcomponent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1079 浏览

java - 来自静态上下文的非静态方法

为什么我不能引用?你知道如何解决吗?我想用 DDA 算法画线。请帮忙。

0 投票
2 回答
155 浏览

java - 如何在这段代码中找到变量 g?

如何在这段代码中找到变量 g?我想使用paintComponent中的fillRect画线。请帮忙。

0 投票
1 回答
2249 浏览

java - 使用 mvc 设计模式调用 repaint() 和 paintComponent() 方法的问题

我正在创建一个小游戏,您单击按钮(上、下、左、右)来控制一只猫(由一个矩形表示)追逐一只鼠标(由另一个矩形表示)。蹩脚的我知道......无论如何,我正在使用 mvc 设计模式,并且我在从面板上要“绘制”两个矩形的控制器中的按钮侦听器中调用 repaint 方法时遇到问题。他们第一次成功地绘画,但没有任何进一步的时间。

我已经以两种方式实现了 paintComponent() 方法,但都没有工作

  1. 创建一个扩展 JPanel 并执行paintComponent 业务的单独类,在视图中创建该类的新对象并使用它来绘制矩形。
  2. 创建一个 JPanel 并在新 JPanel 对象的括号中写入 paintComponent 内容。

我已经在控制器中实现了代码以两种方式重新绘制,但都没有工作

  1. 从返回 jpanel 的视图中调用一个方法,该 jpanel 使用 paintComponent 方法并在其上调用 repaint。
  2. 在控制器中创建一个 jpanel 并将面板从视图分配给它,然后在其上调用 repaint。

视图和控制器的代码(很长,对不起!)在下面,它还包括注释掉的东西,我无法通过两种方法来解决前面提到的问题......

/* * gameView.java */

打包游戏;

导入 java.awt。; 导入 java.awt.event。; 导入 javax.swing.*;

公共类 gameView 扩展 JFrame{

}

控制器

/* * gameController.java */ 打包游戏;

导入 java.awt.event。; 导入 javax.swing。;

公共类游戏控制器{

}

0 投票
1 回答
1041 浏览

java - 油漆组件()和油漆组件()有什么区别?

我想知道paintcomponent()和paintcomponents()有什么不同?

当我从paintcomponent使用它时,它显示了我们想要的所有东西,但是paintcomponents没有做任何事情!

0 投票
3 回答
5253 浏览

java - 为什么paintComponent() 从来没有被repaint() 调用?

我一直在研究一个将自定义 JComponents 绘制到 JLayeredPane 上的程序,但是对组件的所有 repaint() 调用似乎什么都不做,但是当窗口重新调整大小时,paintComponent 方法会自动调用。

我一直在遵循这里给出的一些建议: 为什么从不调用paint()/paintComponent()?

但是似乎没有一个解决方案可以解决我的问题,在 EDT 上更新摆动组件,在调用 repaint() 之前手动设置组件大小,在覆盖的 paintComponent() 中调用 super.paintComponent(g) 并在之后的帧上调用 revalidate()添加新组件(尽管在这种情况下这显然不是问题)

有什么想法可以阻止通话吗?提前致谢 :)

这是 View 和 SVGElementContainer 的代码,view.setFile() 是入口点,因为它在需要显示新文档时被调用。

0 投票
3 回答
1326 浏览

java - 在 JPanel Runnable 中重绘的问题

我正在编写一个程序,它将播放一首歌曲并让 JPanel 在其中显示图像。歌曲播放良好,绘制了第一张图像(我假设从最初调用paintComponent 开始),但不知何故 repaint() 似乎没有被调用。我真的可以多用一双眼睛。我有下面将显示图像的 JPanel 类的代码。非常感谢!

0 投票
4 回答
11393 浏览

java - 如何在图像上放置 JButton?

我正在尝试修复一个 JFrame,其中将有一个背景图像和图像 JButtons,它将执行一些命令。我尝试在没有布局的情况下进行操作,因为我想在 JFrame 的某些特定位置放置小按钮,但每次我这样做时,背景图像都会出现在前面,或者 JFrame 的大小等于 JFrame 的大小。使用以下代码,JButton 与 JFrame 具有相同的大小。我试图改变 JButton 的大小和位置,但没有。你能帮我吗?

这是代码

// label();

test = displayButton("test"); } public JButton displayButton(String name) { JButton button = new JButton(name); button.setSize(100, 100); button.setPreferredSize(dimension); return button; }

0 投票
2 回答
984 浏览

java - 创建钢笔工具,重新绘制问题 - JAVA

我正在尝试使用鼠标侦听器创建一个钢笔工具:

JLabel (imageL) 中的绘制函数接收两组点,这些点允许根据鼠标拖动绘制一条线。唯一的问题是每次执行拖动时,新图层不包含从前一次鼠标拖动中绘制的线。JLabel的绘制函数如下:

所以基本上我的问题是:如何将新行“添加”到当前层?

任何帮助都会很棒,在此先感谢

0 投票
2 回答
1271 浏览

java - 如何在paintComponent之外进行绘制?

我有一个画布,它在一个paintComponent()方法中绘制所有内容。

是否可以在外部绘制paintComponent(而不在内部调用方法paintComponent?)

如果是这样,你怎么做呢?

0 投票
2 回答
1244 浏览

java - 在网格布局上绘制文本或图像

我正在编写一个基于俄罗斯方块的游戏,并且我正在使用 GridLayout 来显示俄罗斯方块碎片掉落的实际轴。GridLayout 充满了小的 JLabel 对象。轴本身就是另一个 JPanel 中的 JPanel,我用来包含和控制整个游戏的面板。游戏结束时,我希望“GAME OVER”字样出现在网格顶部,可能伴随着一个小图像。

我的轴是 ShaftPanel 的一个实例,它扩展了 JPanel(以便我可以覆盖paintComponent)并且是一个嵌套的私有类(因此它可以访问更大的 JPanel 的私有实例变量)。它需要访问的私有实例变量是布尔游戏,当游戏在会话中时为真,当游戏结束时设置为假。这是我的 ShaftPanel 类的代码:

}

我在较大的类中有一种方法在适当的时候调用轴的 repaint() 方法。添加打印语句表明paintComponent 方法在我想要的时候被调用,并且setColor、setFont、drawChars 方法都在正确的时间被调用。然而,什么也没有出现。我高度怀疑文本是在 JLabels 的网格下方绘制的,因此看不到,但我不知道如何解决这个问题。网格内的 JLabel 必须保持不透明,因为程序依赖于它们是不同的颜色。有没有办法告诉paintComponent 在面板中的任何其他内容之上绘制文本?