paintcomponent相关内容

图形未绘制/显示

我遇到了这样的问题,即我绘制的对象没有出现在GUI中.我知道它正在处理中,因为数据被推送到日志文件中.但是,该图形没有出现. 这是我的一些代码: public static void main(String[] args) { JFrame window = new JFrame(); window.setLayout(new BorderLayout()); win ..
发布时间:2020-04-30 07:55:54 Java开发

突破游戏多键处理

我希望我的矩形在用户同时按下向左和向右键时停止.我研究了多种键处理方法,但找不到任何东西. package View; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GamePanel extends JPanel { private final int WIDTH = 60 ..
发布时间:2020-04-26 09:09:44 Java开发

带有TitledBorder的面板中的渐变文本字段-性能问题

我有一个包含3个内部面板的面板,所有面板均使用TitledBorder.第三个内部面板具有许多用GradientPaint绘制的自定义文本字段.文本字段来自自定义类,该类扩展了JTextField并使用了覆盖的paintComponent方法和MouseListener,因此,当鼠标进入文本字段区域时,渐变颜色会稍有变化(当鼠标离开文本字段). 问题在于,当这些文本字段位于具有TitledB ..
发布时间:2020-04-25 04:12:12 Java开发

Java:选择已重新粉刷的对象

我是一名学生,正在做我的一个项目,这只是我最终项目的实际情况的一点点,但我正在尝试将其尽可能地划分. 我遇到的特定问题与创建一个Java应用程序有关,该应用程序显示一个带有按钮的框架,允许用户在屏幕上创建多个球,然后您可以通过单击它们来选择每个球. 我尝试添加一些小的修改,但是由于没有任何修改,我将其删除了,以便在寻找解决方案时为您提供更多的自由. 这是Simulation类的代 ..
发布时间:2019-11-05 12:19:56 Java开发

调用画图后,JPanel不显示在JFrame中

我目前正在使用一个简单的GUI界面来与Lego Mindstorm NXT进行交互. 我当前的问题与界面上的绘画问题有关. 当我的MainUI加载时,它会调用一个名为GirdPanel()的方法来设置我的GridPanel. MainUI扩展了JFrame,然后将该面板添加到JFrame调用中. 这是与此问题相关的MainUI的完整代码. public MainUI(){ set ..
发布时间:2019-11-05 12:17:52 Java开发

创建一个消失的JPanel?

我正在尝试创建扩展的JPanel,以突出显示屏幕的某些区域.我已经从此SO答案中获取了一些代码,但是我想进一步扩展它,尽管我不确定如何去做. 我希望能够在达到给定的超时后让我的JPanel(以下为MatchAreaPanel)消失.即JPanel将其visible属性设置为false,然后对其进行处理. 执行此操作的最佳方法是什么? import java.awt.BasicSt ..
发布时间:2019-11-05 12:17:37 Java开发

斜面Java(带角度的三角形)

我需要根据一定角度创建一个倾斜的平面,上面有一个方块,然后使用物理定律查看该方块是否滑动.现在,我用Path2D.Double创建了我的块,但是我找不到改变块角度的方法.从应用程序框架中的微调器中选择角度.我创建了2个类,一个类是Frame,另一个是Panel,在其中绘制我的块.这是我的路径代码: @Override public void paintComponent(Graphics g ..
发布时间:2019-11-05 12:17:35 Java开发

如何用箭头键移动矩形?

我有一个框架,其中有一个矩形. 我想知道如果单击箭头键如何移动矩形. 我搜索了一下,发现了几个例子,但没有任何效果(很奇怪,因为这应该很简单) 这是我的Rectangle课: public class PlayerOne implements KeyListener { int x,y; public PlayerOne(JPanel panel){ ..
发布时间:2019-11-05 12:16:43 Java开发

如果JPanel上的圆弧过大,我该如何再次绘制圆弧

我正在尝试制作一个以JPanel顶部的7个圆圈开头的程序.所有的圆圈都有随机的大小和颜色.圆圈从屏幕的顶部开始,一旦到达JPanel的底部,则向下移动,它们应重新出现在JPanel的顶部,然后再次向下移动.我已经可以使圆圈向下移动,但是不确定如何再次将其拉回顶部.我制作了一个名为replaceCircle的方法,用于将圆画回到JPanel的顶部,但是它不起作用. import java.aw ..
发布时间:2019-11-05 12:16:21 Java开发

在Java中实现粒子过滤器的最有效方法是什么?

我正在用Java实现粒子过滤器本地化,在其中我必须创建一个GUI,然后将其填充100个粒子和一个机器人.然后,我必须定期更新粒子和机器人.例如,我每次将x和y的值增加5个单位.这样的项目应该是什么设计? 我有一个createGUI方法,正在调用构造函数来创建并填充框架中的粒子.但是,我将如何一次又一次地更新这些点.我会使用重绘还是会再次调用构造函数? 请让我知道我应该如何处理项目的设计 ..
发布时间:2019-11-05 12:15:53 Java开发

JPanel绘图故障

我正在使用JPanel,使用固定的游戏循环和双缓冲来绘制我的游戏;但是我在屏幕上的某个地方出现了故障.毛刺是在屏幕上撕裂的视觉伪像,延伸到X轴,大约20像素高. 我已经在1节课中重新创建了该问题,如下所示.要重现此问题,您可以运行代码并使用箭头键在正方形周围移动,当正方形移到发生视觉撕裂的位置时,您应该会看到效果. (视觉撕裂的位置似乎是随机的) 我重新创建了一张图像撕裂的单帧图像,但 ..
发布时间:2019-11-05 12:13:40 Java开发

JPanel从另一个类重新粉刷

我有一个显示图像的JPanel.在一个单独的类中,我从xml文件中读取要点.我首先从这些点创建三角形的数组列表.但是我需要在图像上显示三角形,即在其上绘制! (是的,这应该很简单).但是,由于这些点和三角形是在另一个类中创建的,因此我似乎无法在GUI类中已经显示的图像上绘制它们.我尝试在JPanel本身中创建一个ArrayList,我对其进行了更新,然后想要重新绘制,尽管它不允许我这样做,如下所示 ..
发布时间:2019-11-05 12:11:48 Java开发

如何在GridLayout中更新JTextFields?

我有一个使用Gridlayout的MainPanel.因此,我分别为NORTH,EAST,CENTER和EAST布局创建了四个JPanel类.然后,将所有四个添加到我的MainPanel. 但是,在WEST面板上,我使用了另一个网格布局来存储JButtons和JTextFields.我要不断更新我的JTextFields,因为它们显示一个值(单击另一个面板上的按钮时会更改). JFrame运 ..
发布时间:2019-11-05 12:10:53 Java开发

面板顶部的图形

我在面板上有一个JLabel的图形上绘制图形时遇到了麻烦.我正在使用自定义的paintComponent(Graphics g)方法在面板上绘制一个字符串.我希望字符串显示在JLabel的顶部而不是JLabel的下面,这是当前正在发生的情况.如果您想看到它,这是paintComponent方法: public void paintComponent(Graphics g){ supe ..
发布时间:2019-11-05 12:10:18 Java开发

在多个JPanels中绘图

我在一个主框架内有三个JPanel.我计划在第一个面板的左侧按顺时针方向设置一些控件,这些控件决定了面板2上的绘图.第三个底部面板将显示一些信息. 我了解的是,我必须重写paintComponent以便在第二个面板上实现所需的效果.现在我只想测试一下,是否可以在此面板上绘制简单的文本. 但实际上,我在绘制三个面板中的任何一个时遇到问题. 下面给出了代码,我不知道是什么问题. ..
发布时间:2019-11-05 12:09:59 Java开发

将Shape的中心与JPanel的中心对齐

我一直试图将java2d形状的中心与JPanel的中心对齐,但没有成功.我能够使用getBounds方法对图像和许多2D形状(如平行四边形)执行此操作,但对于菱形却无法做到,尽管它们都遵循相同的模式.彻底地,当我从实际项目中准备SSCCE时,我无法正确地对齐它们. 我已经编写了一个drawShape方法来在中心上绘制形状.我不明白我要去哪里错了. 这是SSCCE: i ..
发布时间:2019-11-05 12:09:28 Java开发

放大和缩小jPanel

我想知道使用面板的paintComponent进行缩放后,检索鼠标clic位置的最佳方法是什么? (相对于此缩放的位置). 这是缩放代码: public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; if(zoomer==tru ..
发布时间:2019-11-05 12:08:57 Java开发