问题标签 [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.
java - 来自静态上下文的非静态方法
为什么我不能引用?你知道如何解决吗?我想用 DDA 算法画线。请帮忙。
java - 如何在这段代码中找到变量 g?
如何在这段代码中找到变量 g?我想使用paintComponent中的fillRect画线。请帮忙。
java - 使用 mvc 设计模式调用 repaint() 和 paintComponent() 方法的问题
我正在创建一个小游戏,您单击按钮(上、下、左、右)来控制一只猫(由一个矩形表示)追逐一只鼠标(由另一个矩形表示)。蹩脚的我知道......无论如何,我正在使用 mvc 设计模式,并且我在从面板上要“绘制”两个矩形的控制器中的按钮侦听器中调用 repaint 方法时遇到问题。他们第一次成功地绘画,但没有任何进一步的时间。
我已经以两种方式实现了 paintComponent() 方法,但都没有工作
- 创建一个扩展 JPanel 并执行paintComponent 业务的单独类,在视图中创建该类的新对象并使用它来绘制矩形。
- 创建一个 JPanel 并在新 JPanel 对象的括号中写入 paintComponent 内容。
我已经在控制器中实现了代码以两种方式重新绘制,但都没有工作
- 从返回 jpanel 的视图中调用一个方法,该 jpanel 使用 paintComponent 方法并在其上调用 repaint。
- 在控制器中创建一个 jpanel 并将面板从视图分配给它,然后在其上调用 repaint。
视图和控制器的代码(很长,对不起!)在下面,它还包括注释掉的东西,我无法通过两种方法来解决前面提到的问题......
/* * gameView.java */
打包游戏;
导入 java.awt。; 导入 java.awt.event。; 导入 javax.swing.*;
公共类 gameView 扩展 JFrame{
}
控制器
/* * gameController.java */ 打包游戏;
导入 java.awt.event。; 导入 javax.swing。;
公共类游戏控制器{
}
java - 油漆组件()和油漆组件()有什么区别?
我想知道paintcomponent()和paintcomponents()有什么不同?
当我从paintcomponent使用它时,它显示了我们想要的所有东西,但是paintcomponents没有做任何事情!
java - 为什么paintComponent() 从来没有被repaint() 调用?
我一直在研究一个将自定义 JComponents 绘制到 JLayeredPane 上的程序,但是对组件的所有 repaint() 调用似乎什么都不做,但是当窗口重新调整大小时,paintComponent 方法会自动调用。
我一直在遵循这里给出的一些建议: 为什么从不调用paint()/paintComponent()?
但是似乎没有一个解决方案可以解决我的问题,在 EDT 上更新摆动组件,在调用 repaint() 之前手动设置组件大小,在覆盖的 paintComponent() 中调用 super.paintComponent(g) 并在之后的帧上调用 revalidate()添加新组件(尽管在这种情况下这显然不是问题)
有什么想法可以阻止通话吗?提前致谢 :)
这是 View 和 SVGElementContainer 的代码,view.setFile() 是入口点,因为它在需要显示新文档时被调用。
java - 在 JPanel Runnable 中重绘的问题
我正在编写一个程序,它将播放一首歌曲并让 JPanel 在其中显示图像。歌曲播放良好,绘制了第一张图像(我假设从最初调用paintComponent 开始),但不知何故 repaint() 似乎没有被调用。我真的可以多用一双眼睛。我有下面将显示图像的 JPanel 类的代码。非常感谢!
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; }java - 创建钢笔工具,重新绘制问题 - JAVA
我正在尝试使用鼠标侦听器创建一个钢笔工具:
JLabel (imageL) 中的绘制函数接收两组点,这些点允许根据鼠标拖动绘制一条线。唯一的问题是每次执行拖动时,新图层不包含从前一次鼠标拖动中绘制的线。JLabel的绘制函数如下:
所以基本上我的问题是:如何将新行“添加”到当前层?
任何帮助都会很棒,在此先感谢
java - 如何在paintComponent之外进行绘制?
我有一个画布,它在一个paintComponent()
方法中绘制所有内容。
是否可以在外部绘制paintComponent
(而不在内部调用方法paintComponent
?)
如果是这样,你怎么做呢?
java - 在网格布局上绘制文本或图像
我正在编写一个基于俄罗斯方块的游戏,并且我正在使用 GridLayout 来显示俄罗斯方块碎片掉落的实际轴。GridLayout 充满了小的 JLabel 对象。轴本身就是另一个 JPanel 中的 JPanel,我用来包含和控制整个游戏的面板。游戏结束时,我希望“GAME OVER”字样出现在网格顶部,可能伴随着一个小图像。
我的轴是 ShaftPanel 的一个实例,它扩展了 JPanel(以便我可以覆盖paintComponent)并且是一个嵌套的私有类(因此它可以访问更大的 JPanel 的私有实例变量)。它需要访问的私有实例变量是布尔游戏,当游戏在会话中时为真,当游戏结束时设置为假。这是我的 ShaftPanel 类的代码:
}
我在较大的类中有一种方法在适当的时候调用轴的 repaint() 方法。添加打印语句表明paintComponent 方法在我想要的时候被调用,并且setColor、setFont、drawChars 方法都在正确的时间被调用。然而,什么也没有出现。我高度怀疑文本是在 JLabels 的网格下方绘制的,因此看不到,但我不知道如何解决这个问题。网格内的 JLabel 必须保持不透明,因为程序依赖于它们是不同的颜色。有没有办法告诉paintComponent 在面板中的任何其他内容之上绘制文本?