- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我对 Java 还很陌生,我正在尝试创建一个条形图,它从文本字段中获取 5 个值,并使用这 5 个值创建一个条形图。我的大部分工作正常,也许不是以最有效的方式,但我在使用drawString()时遇到了麻烦。我试图在每个条形的顶部输出每个条形的高度以进行调试,因为最终我需要以 10 为步长来标记整个 y 轴。但是,每次我将相同的精确 y 值“高度”传递给 draw.String() 时,它都会输出到与矩形左上角部分不同的位置。我不知道为什么会发生这种情况。传递相同的 y 值难道不应该意味着输出将处于相同的高度吗?任何帮助,将不胜感激。我附上了我得到的输出的图片。虽然我没有将其包含在此处,但我确实有两行代码来绘制 x 轴和 y 轴。
public void paint(Graphics g)
{
super.paint(g);
double v1 = Double.parseDouble(jTextField1.getText());
double v2 = Double.parseDouble(jTextField2.getText());
double v3 = Double.parseDouble(jTextField3.getText());
double v4 = Double.parseDouble(jTextField4.getText());
double v5 = Double.parseDouble(jTextField5.getText());
Graphics pg = jPanel2.getGraphics();
int[] values = {(int)v1,(int)v2,(int)v3,(int)v4,(int)v5};
double space = (jPanel2.getHeight()*.09);
//Space for the bottom
int spaceY = (int)space;
int bar;
double heightPortion;
int height;
double heightCalc;
double numHeight;
int numHeight2;
//5% of the top of the frame is open
double gap = getHeight()*.05;
int gapTrunc = (int)gap;
//Display each value
for (int i= 0; i < 5; i++){
bar = values[i];
//Calculate what portion of the max height of a bar each value is
heightPortion = 100-bar;
heightPortion = heightPortion/100;
//Use 86% of the graph for the bars
heightCalc = heightPortion *(.86)*jPanel2.getHeight() + gapTrunc;
height = (int)heightCalc;
//Debugging
System.out.println(height);
//Use different colors for different letters
if(0<= bar && bar < 20)
pg.setColor(Color.orange);
if(20 <= bar && bar < 40)
pg.setColor(Color.gray);
if(40 <= bar && bar < 60)
pg.setColor(Color.yellow);
if(60 <= bar && bar < 80)
pg.setColor(Color.blue);
if(80 <= bar && bar <= 100)
pg.setColor(Color.red);
String s = Integer.toString(bar);
//Draw bar
pg.fillRect(jPanel2.getWidth()-(jPanel2.getWidth()*(16-
3*i)/20),height,20,jPanel2.getHeight()-height-spaceY);
//Label bar with value, passing it the same height
g.drawString(s,jPanel2.getWidth()-(jPanel2.getWidth()*(16-
3*i)/20),height);
}
}
最佳答案
documentation for drawString
内容如下(强调我的):
Draws the text given by the specified string, using this graphics context's current font and color. The baseline of the leftmost character is at position (x, y) in this graphics context's coordinate system.
documentation for fillRect
内容如下(强调我的):
Fills the specified rectangle. The left and right edges of the rectangle are at x and x + width - 1. The top and bottom edges are at y and y + height - 1. The resulting rectangle covers an area width pixels wide by height pixels tall. The rectangle is filled using the graphics context's current color.
关于java - draw.String() 和 fillRect() 使用相同的传递坐标写入 JFrame 上的不同位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46418280/
Draw joust是什么游戏 Draw joust是一款voodoo推出的玩家对战类游戏,Draw joust游戏中文版叫做手绘战车游戏。 这次voodoo将该游戏的玩法再度升级,难度也有所提
我在本地托管了 draw.io,我们正在使用它来直观地表示仓库中托盘的位置。问题在于,当你在周围拖动托盘时,你经常会不小心调整它们的大小,这很痛苦。无论如何我可以禁用它或锁定托盘的大小吗? 最佳答案
我想在 draw.io 中格式化一个矩形,这样只有一个边框(左边框)是黑色的,其他边框:顶部、右侧和底部必须保持“清晰”。 我试图找出正确的编码来仅影响这些元素,但似乎您只能使用样式键影响整个边框:i
我的线正在连接,即使我没有将它们设置为多边形。 我的脚本基于 pyshp 包。 我的脚本如下所示: w=Shapefile.Writer() #shapetype 11 is a polylineZ
我在表单值中有一个标题(“cadeau check 50 €”),我想使用 arial.ttf 将其写入背景图像。我的文字是正确的,但对于欧元符号。我有 2 [] 到位。我不知道问题出在哪里。这是 P
我收到上述错误。我需要帮助修复它。我看过this question它似乎对我没有任何帮助,我在与需要它的指令相同的元素上拥有所需的指令。我也不明白为什么我的错误说无法找到指令“绘图”所需的 Contr
我正在使用 VBUC 将 VB6 应用程序迁移到 C#但我得到了这个错误: 无法将类型“System.Drawing.Image”转换为“System.Drawing.Icon”我的代码是:
我有一行代码是从某个地方借来的,Visual Studio 无法解决 Bitmap或 ImageConverter类引用。 我有: using System.Drawing; 代码行是 Image x
我正在尝试将花费很长时间的大型 Lucidchart 图转换为 Draw.io。 Draw.io 推荐 ctr-a、ctr-c、ctr-v,但这似乎不起作用。然而,Draw.io 也隐晦地提到: dr
我想显示一个相对较长的图表。我曾经使用过 javafx Canvas ,但有时会出现缓冲区溢出异常,因为绘制了很多值。我正在寻找一种不同的方法,并找到了一种使用 java.awt.graphics2d
我很困惑 System.Drawing.Image 和 System.Drawing.Bitmap 之间有什么不同 有人可以解释这两种类型之间的主要区别吗? 为什么要使用 System.Drawing
声明了一个位图 private Bitmap img1 = null; private Bitmap img2 = null; 从openFileDialog中选择图像后,图像将被放置。 选定的图
我想遍历 System.Drawing.Color 结构并使用它来初始化笔列表。 我是这样试的,但是字段类型不合适: colorList = new List(); foreach (
System.Drawing.Point 和 System.Drawing.PointF 有什么区别。你能举个这两者之间的例子吗? 提前致谢。 最佳答案 Point 使用整数坐标(int 代表 X 和
我正在为我们公司开发 WinForm 打印应用程序。 打印文档时,我需要获取文档上每个控件的System.Drawing.Color属性,并创建一个System.Drawing.Brush对象来画出来
我正在使用这个从另一个应用程序获取图标: Icon IEIcon = Icon.ExtractAssociatedIcon(@"C:\Program Files\Internet Explorer\
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
在 UIView 子类中,我覆盖了 Draw 子类以绘制一些自定义文本,但文本始终绘制为翻转文本。 这是我正在使用的代码: class TextViewProblem : UIView { publi
我想从 Zotero 导出的嵌套 XML/JSON(嵌套在子集合和集合中的单个项目)以编程方式生成 draw.io map 图。 我已经有了基本的 JSON/XML,可以适应 draw.io 的格式,
1) 重新绘制与绘制 这是一个哲学问题,但是...在不同分辨率下渲染游戏的“正确”或“可接受”的方式是什么(2d,我理解 OGL 视角如何工作...)?我应该为我的图像(如 Android APK)添
我是一名优秀的程序员,十分优秀!