Java 图形点击界面
所以,我有一个绘制相位轨迹的程序。目前,起始点都是随机的,但我想添加的是程序从我单击的点开始轨迹的方法。我已经摆弄它好几个小时了,尝试了我所知道的一切,代码如下:Java 图形点击界面,java,graph,plot,mouseevent,mouselistener,Java,Graph,Plot,Mouseevent,Mouselistener,所以,我有一个绘制相位轨迹的程序。目前,起始点都是随机的,但我想添加的是程序从我单击的点开始轨迹的方法。我已经摆弄它好几个小时了,尝试了我所知道的一切,代码如下: public static void click(final double r, final double t) { MouseListener mus = new MouseAdapter() { public void mouseClicked(MouseEvent e) { dou
public static void click(final double r, final double t) {
MouseListener mus = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
double r = e.getX();
double t = e.getY();
}
};
}
public Vector<Graph> getGraphs() {
// ... bunch of code that draws the graph...
g.add(new Graph.Line());
g.lastElement().add(r, t);
g.lastElement().setColor(Color.blue);
公共静态无效点击(最终双r,最终双t){
MouseListener mus=新的MouseAdapter(){
公共无效mouseClicked(MouseEvent e){
双r=e.getX();
双t=e.getY();
}
};
}
公共向量getGraphs(){
//…一堆绘制图形的代码。。。
g、 添加(新的Graph.Line());
g、 lastElement()。添加(r,t);
g、 lastElement().setColor(Color.blue);
它告诉我的是,r和t是找不到的。我意识到如果没有完整的代码,可能很难提供帮助,但这是大量的代码,如果你真的愿意帮助的话,我可以通过电子邮件发送给某人。但是在任何其他情况下,有人知道我能做什么吗?1)r
和t
不在你的getGraphs()范围内
方法
2) 您似乎没有在任何地方将鼠标适配器注册为MouseListener
3) 不清楚如何调用click()
方法
您需要从窗口组件捕获鼠标单击,假设您正在使用的是JPanel 然后,您的代码将如下所示:
public class MyApplication {
private JFrame myWindow = new JFrame("My Application");
private JPanel myPanelYouCanClick = new JPanel();
public MyApplication() {
myWindow.setContantPane(myPanelYouCanClick);
myPanelYouCanClick.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
double r = e.getX();
double t = e.getY();
// Code to create your new trajectory called from here, pass
// in the values of r and t if required. Remember you are
// running on the event dispatcher thread!
}
});
myWindow.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
MyApplication app = new MyApplication();
}
});
}
}