【如何在java中绘制鼠标光标周围的矩形?】教程文章相关的互联网学习教程文章

如何使用Java Swing编写肮脏的渐变绘制边框【代码】

修订:问题是绘制一个四边形边框,每边开始时有一个坚实的基色,并在边框的跨度上逐渐变白.挑战在于使边界的交叉看起来无缝.要实现这一点,可以绘制边框,然后使用三角形来“混合”角落.如果在绘制粗体的矩形中没有重叠,则每个角可以使用两个三角形,或者如果两个平行的边界边延伸边界的整个长度(即矩形重叠),则每个角的一个三角形就足够了(如下所示).private static final int GRADIENT_LENGTH = 29;private static final int BAR_LENG...

java – 绘制的形状在停止后保持振动【代码】

我试图通过创造一个从侧面反弹并减速的球来重建一些物理.球在x方向上停止移动,但它在y方向上仅向上和向下振动1个像素.它也会在底部边框上方稍微做一点. 还有,我的代码可读/良好实践吗? Bouncy.javapackage Bouncy;import javax.swing.*;public class Bouncy {private static void createAndShowGui() {JFrame frame = new JFrame("Bouncy Balls");Board board = new Board();frame.getContentPane().add(board);frame.pack();fram...

java – JFrame无法正确绘制【代码】

我想要一个简单的程序,用滑块改变矩形的宽度.当我运行它时,jpanel无法正常工作,因为它只适合panel.width宽度,并且不能正确重新绘制.import java.awt.*; import javax.swing.*;public class panel extends JPanel {private int width = 50;public void paintComponent(Graphics g) {super.paintComponent(g);g.setColor(Color.GRAY);g.fillRect(20, 20, width, 25);}public void setWidth(int width) {this.width = (width > 0) ? w...

Java如何绘制和填充有孔的Polygon【代码】

我目前正在尝试绘制并填充一个在Java中有一个洞的Polygon.通常这不会是一个大问题,因为我会绘制外环,然后用背景颜色绘制内环. 但问题是,多边形显示在应该通过孔“看到”的图像上方. 我用Java编写代码,并使用JTS Topology Suite作为我的几何数据. 这是我当前的代码,它只绘制边框并用颜色填充多边形.private void drawPolygon(com.vividsolutions.jts.geom.Polygon gpoly, Color color, Graphics2D g2d){java.awt.Polygon poly = (ja...

java – Android像谷歌付费一样绘制自定义视图【代码】

这个问题已经被提出并且答案已经被接受了here但是接受的答案并不是我想要的.我想使用一个自定义视图,其中凹槽占据了视图的宽度,如上图中的付费图标.在调查像this这样的工厂的bottomappbar我看到了一个名为edge treatment class的课程,我猜也可以使用.我不会发布我的自定义视图代码,因为我可以绘制的是一个矩形.解决方法:您需要使用Cubic Bézier Curve绘制曲线.Bartosz Ciechanowski,here撰写了一篇了解如何绘制此类曲线的好文章.我...

java – 绘制自定义JScrollBar

我想彻底改变scollbar的外观,但是重写JScrollBar并且paintComponent方法不起作用,轨道和拇指被绘制但左右箭头保持不变.我也在JScrollPane中使用它们并使用它们setHorizo??ntalScrollBar(new CustomScrollBar())将滚动条设置为我的自定义滚动条,但它不能很好地工作,水平滚动条不会改变它的方向,它不会更改为垂直滚动条. 如何绘制一个全新的JScrollBar并在JScrollPane中使用它?解决方法:简而言之,您需要将ScrollBarUI子类化为您自己...

Java3D:在Canvas3D上绘制2D HUD【代码】

我正在使用Java3D来渲染三维场景.我想在3d图像的顶部叠加一个二维“抬头显示器”.如何在3d画布上高效绘制2D内容? 谢谢!解决方法:// Create a Canvas3D using the preferred configurationCanvas3D canvas3d = new Canvas3D(config){private static final long serialVersionUID = 7144426579917281131L;public void postRender(){this.getGraphics2D().setColor(Color.white);this.getGraphics2D().drawString("Heads Up Display...

如何在java中绘制鼠标光标周围的矩形?【代码】

嘿伙计们,我在我的项目中制作了一个模块,用户可以用铅笔绘制任何东西. 现在我想为该绘图模块创建一个橡皮擦,所以我需要它,以便用户点击该橡皮擦按钮然后在我的鼠标光标周围我想要一个小的矩形形状,所以用户可以用它来擦除图中的一些部分. 这该怎么做?有什么建议?解决方法:我建议不要在光标周围绘制矩形,而是为所选工具设置自定义光标. 只是为了展示API,(未经过测试)这样的东西可行.Image cursorImg = new ImageIcon("rectangle.g...

java – 在JScrollPane的视口上绘制静态图像【代码】

我试图在JScrollPane上绘制一个红色正方形.我下面的代码对此做了一个很好的工作,但有时当我滚动视口太快时,红色方块向上或向下跳跃. 这让我觉得奇怪,因为JScrollPane本身是静止的,所以我假设Swing不会试图移动其中绘制的组件.我猜测实际发生的是红色方块与视口相关联,视口显示移动的图形. 无论如何,如何阻止红色方块跳跃并在列表上成功绘制红色方块?也许我完全采取了错误的做法.package components;import java.awt.*; import jav...

java – 在Prefuse中以编程方式绘制有向边【代码】

我使用以下代码显示图表:graph = new Graph(true);vis = new Visualization();vis.add(GRAPH, graph);CustomLabelRenderer re = new CustomLabelRenderer();re.setImageField(NODE_TYPE_IMAGE);re.setImagePosition(Constants.TOP);EdgeRenderer edgeRenderer = new EdgeRenderer(Constants.EDGE_TYPE_LINE, Constants.EDGE_ARROW_FORWARD);edgeRenderer.setArrowType(Constants.EDGE_ARROW_FORWARD);edgeRenderer.setArrowHeadSi...

java – 面向对象的2D图形方法:将JPanel点击委托给绘制的对象【代码】

来自Qt,我总是使用QGraphicsScene与QGraphicsItem对象相关联来绘制流程图,游戏板等等.图形场景是小部件,它们是Swt组件的Qt等价物.这些QGraphicsItem对象具有自己的单击处理程序,因此对图形场景的某些部分的单击会自动委派给正确的图形项. 我想在Java Swing中复制这个工作流程.到目前为止,我只找到了一种手动绘制所有内容的方法,这也意味着我必须手动编写点击逻辑.它涉及子类化JPanel并重写paintComponent函数,如下所示:public voi...

java – 如何绘制quantil band(在R中)【代码】

我有一个CSV文件,其中包含我感兴趣的每个(Java GC)事件的行.该对象由亚秒时间戳(非等距)和一些变量组成.该对象如下所示:gcdata <- read.table("http://bernd.eckenfels.net/view/gc1001.ygc.csv",header=TRUE,sep=",", dec=".") start = as.POSIXct(strptime("2012-01-01 00:00:00", format="%Y-%m-%d %H:%M:%S")) gcdata.date = gcdata$Timestamp + start gcdata = gcdata[,2:7] # remove old date col gcdata=data.frame(date=g...

在Java中,如何在当前运行的actionPerformed线程中重新绘制面板?【代码】

我有一个类(称为Class_GUI),它有一个面板上有很多按钮. Class_GUI有一些方法可以改变按钮的文本和颜色. 我还有一个带有actionPerformed方法的程序.调用它时,它会创建一个Class_GUI实例,并重复调用Class_GUI方法,更改按钮等. 我遇到的问题是,一旦actionPerformed方法完全完成,按钮只能正常显示,而我想在调用每个Class_GUI方法后更改它. 到目前为止,我的尝试是在每个Class_GUI方法中,我在方法结束时执行此操作:SwingUtilities.invok...

java – 为什么ENTIRE JPanel没有重新绘制?【代码】

为什么在Java中当我尝试将窗口从屏幕一侧移动到中心时,那么整个JPanel不会重新绘制它自己? 示例:当我尝试将窗口从屏幕一侧(因此只有大约一半窗口可见)拖到中心时发生这种情况: 如果我添加一个组件监听器,然后将repaint()放在componentMoved方法中,它将正常工作,但每次移动窗口时它都会重新绘制. 相关代码:import java.awt.BorderLayout; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import...

是否可以在处理中从java类中绘制一个矩形?【代码】

我想要一个java对象,我将从main draw()方法中调用object.draw(),这样每次处理草图绘制它时都会绘制java对象.解决方法:是. 您只需将PApplet实例传递给Java类,然后使用它来进行绘制.public class MyShape{PApplet papplet;public MyShape(PApplet papplet){this.papplet = papplet;}public void draw(){papplet.ellipse(50, 50, 25, 25);} }然后在草图中,您将使用this关键字将草图传递到对象中:MyShape myShape;void setup(){myShap...