我正在尝试在jframe的中心创建一个矩形。我尝试了插图,但我没有运气。我为矩形制作了以下类:
public class RectDraw extends JComponent{
Shape rect;
public void paint(Graphics g){
Graphics2D graph2 = (Graphics2D)g;
graph2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
rect = new Rectangle2D.Float(50,50,15,15);
graph2.setPaint(Color.BLACK);
graph2.fill(rect);
graph2.draw(rect);
}
}
主要:
public class TheMain{
public static void main(String[] args) {
Screen screen = new Screen();
RectDraw rect = new RectDraw();
screen.add(rect, BorderLayout.CENTER);
}
这是班级屏幕:
public class Screen extends JFrame{
public Screen(){
this.setSize(500, 500);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setTitle("Testing");
this.getContentPane().setBackground(Color.GRAY);
this.setVisible(true);
}
}
那么我应该改变什么才能将这个矩形放在jframe的中心?
谢谢!
答案 0 :(得分:-1)
您需要覆盖Screen
的{{1}}方法。
这样你的矩形宽度为50高度100.只需做一些数学运算。
paintComponent