问题标签 [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 - JPanel 之间的绘图
我必须以下情况:
AJPanel
用作“绘图板”,用户可以在其中添加具有特定连接点的模块,这些连接点可用于与其他模块互连(想想 Simulink 或 labView)。
块本身是JPanel
带有按钮的对象,在设置空布局后通过 add() 方法添加到绘图板上。JPanels
可以在 的帮助下拖动MouseMotionListener
。
为了绘制连接,我重写了绘图板paintComponent()
方法并调用 g.drawLine()(在调用 之后super.paintComponent
)。这行得通,但是一旦你移动一个块,线条就会相互重叠,就会变得一团糟。因此,我drawingBoard.repaint()
在用户移动块期间调用。这样做的效果是线条在拖动过程中闪烁可见,然后立即消失。
JPanels
显然,父级中的绘图JPanel
相互干扰。
我该如何解决这个问题?
编辑:一些代码片段:
绘图板:
使用 JPanel.add() 方法将块添加到绘图板上。下面是这样一个“块”JPanel 的 MouseMotionListener。
块 JPanel 不会覆盖paintComponent,因为其中不需要特殊的绘图。它只包含一些 JLabels 和 JButton。这些按钮用于在块之间创建连接。然后在上面提到的 drawConnections 中使用连接列表。
真的没有比这更多的了。
解决了:
好的,正如预期的那样,这是一个非常小的细节。
在我使用的线条图代码中
代替
我只是注意到参考文献不一样。德欧
java - Java中全透明窗口的形状刷新
这是我的第一个问题,因为到目前为止我可以通过其他问题找到任何东西。我的问题来了:我设计了一个窗口,上面有两个部分。左边部分是完全透明的,我想在上面画一个可重新绘制的形状。(在下面,shapw 是一个正方形。)右边的部分总是不透明的,我不会在上面画任何形状。一切都很好,但对于左侧部分,背景形状不可刷新。
---------------------- 编辑(第二个代码) ----------- --------------------
java - 使用带有 paintComponent 的变量
对于家庭作业,我正在尝试paintComponent
使用用户输入的变量来绘制一个框。我已经能够使用固定数字构建我需要做的事情。我整天都在做这件事,一直没能找到实现变量的方法。这是我正在研究的精简版:
编辑
自从在这里发布以来,我尝试在 NewPanel 类中使用 setter 方法
运行这会导致我以前从未见过的奇怪错误:我收到 StackOverFlow 错误,然后对话框弹出多次/数百次并且不会停止弹出。
编辑 3使用充满鳗鱼的气垫船解决方案,我让它工作了!感谢 Full Of Eels 的时间、帮助和耐心。
java - 在 JPanel 上绘制图形而不使用 PaintComponent 方法和重绘调用
我想在 JPanel 上绘制图形。现在,我正在做的是,我使用 paintComponent 方法来定义绘图:
然后我在要放置图形的任何地方调用 repaint() 。
但我想知道是否有一种方法可以将 Graphics 添加到 JPanel,就像添加组件一样,而不使用这个 paintComponent 方法:panel.add(myComponent)。我看到无法启动图形类型,但也许有另一种类型可以让我这样做。
我很确定很多图形用户界面(例如 FANG Engine)都有这个选项,但是我在 Swing 中看到的所有示例都使用这种方法。没有这个有什么建议吗?因为它有时会扰乱我程序的整体设计。
提前致谢。
java - java如何在JTable中添加WaterMark
我有一个JTable
,我正在尝试在 后面插入一个图像JTable
作为水印
以上是我的代码JTable
,但水印不可见;让我补充一点,稍后我将它JTable
放在一个JScrollPane
andJSplitPane
中。
java - 保存数据的列表
我每 400 毫秒从网络接收浮点数据,我将其放入 4 个浮点数组中。我将这些数组存储在另一个数组中,所以我有:
我的模型有一个 FloatData 对象列表,而 FloatData 对象有以下方法:
返回我想要的浮点数组。该数组用于在 JPanel 上绘制。因此,在 painComponent 中,我执行以下操作:
我的问题是我可以为 listOfFloatData 使用什么样的列表,因为它将每 400 毫秒更新一次并在 paintComponent 方法中读取?另外,我想知道将 listOfFloatData 从模型传递到我的视图的便捷方法?我正在考虑使用一个持有 listOfFloatData 的单例对象,因为这个列表将在几个组件中使用?谢谢你。
java - 最大化、最小化或调整我的 JFrame 时,圆圈会消失。
这是我的代码:
它的作用是当我单击框架时会绘制一个圆圈。当我最大化或最小化或调整框架大小时画了一些圆圈后,圆圈消失了。我该如何解决?
java - 以这种方式为 JPanel 制作图表是否可以接受?
我需要在某人的类中绘制一些统计数据,这些数据扩展了JPanel
. 现在的计划是使用paintComponent
和Graphics
类如下:
出于某种原因,这很可怕吗?更重要的是,是否有一些很棒的、易于使用的图形库我可以使用但不知道?
谢谢。
java - Java - 将paintComponent用于图形,从内部调用函数?
我对paintComponent
函数在我的JPanel
. 理想情况下,我希望能够访问 Graphics 对象以根据我的程序流程从其他函数中绘制内容。我正在考虑以下几点:
我希望我已经在这里说清楚了。我只是希望能够随心所欲地使用 Graphics 类。目前我只能做函数g.drawRect(...)
内部的事情paintComponent()
。这可能适用于我的目的,但我想要更多的灵活性。
谢谢。
编辑 - 好的,我知道我不应该尝试在外部引用 Graphics 对象。但是我应该如何将应用程序逻辑与 paintComponent 函数分开呢?现在这门课看起来有点乱,因为我有以下内容:
基本上,paintComponent 函数对我来说变得又长又复杂,所以我想以任何可能的方式分解它。
java - 在 Java 中围绕 repaint() 工作
我打算写一个简单的太空射击游戏。我读过 repaint() 方法只是一个请求,它不会在每次调用时都执行。我相信我注意到了这一点,因为当我移动它时,我的宇宙飞船往往会略微滞后。目前,我只是在 JPanel 的 paintComponent() 方法中绘制我的船,并定期调用 repaint()(我的面板也是可运行的)。看到 repaint() 可能会把我搞砸,我正试图找到一种方法来解决它,但是我已经没有想法了。我到目前为止的代码:
这个想法是创建我自己的图形,然后让 JPanel 绘制它,并在我的 run() 方法中继续调用它而不是 repaint(),但是我不知道该怎么做。我会就此事提出任何意见。