直升机家伙,Rectangle2D,边框不见了?
我的问题是,有时如果我的矩形得到一个大的宽度或高度的下方,左边框分裂,不再使一个连续的边界,如果我甚至会使其较宽的边框变为小,就像是否存在矩形边框可以存在多长时间的限制一样......这真是令人困惑,至今我还没有找到解决方案:SI在那里放置了一张图片的链接,以便您自己看到。
new Rectangle2D.Double(mojrectangle.getUpperleftPointmojRectangle().getX(), mojrectangle.getUpperleftPointmojRectangle().getY(),1000,1000)
repaint();
感谢您的帮助..
BTW我有一个的Arc2D同样的问题,如果它得到真正的大
UPDATE:我从功能setStroke命令删除和现在它正确绘制它,但在将来,我将需要设置矩形中风,因此它让我感到悲伤。
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2=(Graphics2D)g;
//g2.setStroke(stroke);
g2.draw(rectangle);
}
在这里,我把我的项目的示例代码,请与g2.setStroke(selectedstroke)尝试 - 它不会工作,没有它...我希望我解释说清楚了。
package com.awtgraphicsdemo;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.JComboBox;
public class AWTgraphicsdemo extends Frame {
final float dash[] = {10.0f};
final float solid[] = {1000.0f}; // these must be in an Array
float lineWidth[]={2.0f,4.0f,6.0f,8.0f,10.0f}; // width of the drawing line
String[] lineWidthString={"2.0","4.0","6.0","8.0","10.0"};
JComboBox strokecombobox=new JComboBox(lineWidthString);
BasicStroke selectedStroke = new BasicStroke(lineWidth[0],BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER, 10.0f, solid, 0.0f);
public AWTgraphicsdemo(){
super("Java AWT Examples");
prepareGUI();
}
public static void main(String[] args){
AWTgraphicsdemo awtGraphicsDemo = new AWTgraphicsdemo();
awtGraphicsDemo.setVisible(true);
}
private void prepareGUI(){
setSize(400,400);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
}
@Override
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(selectedStroke);
g2.draw (new Rectangle2D.Double(10, 10, 1000, 900));
Font font = new Font("Serif", Font.PLAIN, 24);
g2.setFont(font);
g.drawString("Welcome to TutorialsPoint", 50, 70);
g2.drawString("Rectangle2D.Rectangle", 100, 120);
}
}
请考虑创建和发布了一个[MCVE](http://stackoverflow.com/help/mcve)。 –
听起来更像是你有漆问题... – MadProgrammer
我要通知@MadProgrammer你的改变。我正在旅行,目前无法提供帮助。 –