java jframe坐标_java – 在JFrame中使用坐标平面

  • Post author:
  • Post category:java


这里的坐标从屏幕的左上方开始,就像你增加X的值一样,你将向右侧移动,但是当你增加Y的值时,你将向下移动.这是一个小例子程序,让您更好地理解这一点,只需在任何地方点击它.

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class DrawingExample

{

private int x;

private int y;

private String text;

private DrawingBase canvas;

private void displayGUI()

{

JFrame frame = new JFrame(“Drawing Example”);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

canvas = new DrawingBase();

canvas.addMouseListener(new MouseAdapter()

{

public void mouseClicked(MouseEvent me)

{

text = “X : ” + me.getX() + ” Y : ” + me.getY();

x = me.getX();

y = me.getY();

canvas.setValues(text, x, y);

}

});

frame.setContentPane(canvas);

frame.pack();

frame.setLocationByPlatform(true);

frame.setVisible(true);

}

public static void main(String… args)

{

SwingUtilities.invokeLater(new Runnable()

{

public void run()

{

new DrawingExample().displayGUI();

}

});

}

}

class DrawingBase extends JPanel

{

private String clickedAt = “”;

private int x = 0;

private int y = 0;

public void setValues(String text, int x, int y)

{

clickedAt = text;

this.x = x;

this.y = y;

repaint();

}

public Dimension getPreferredSize()

{

return (new Dimension(500, 400));

}

public void paintComponent(Graphics g)

{

super.paintComponent(g);

g.drawString(clickedAt, x, y);

}

}



版权声明:本文为weixin_35969684原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。