1

这应该是一个非常简单的问题,但我似乎无法完成,我有一段代码计算图表上的 XY 点,然后将它们保存到文件中。

如果满足某个条件,我想在图表上绘制值,我正在使用此代码绘制图表 - http://www.kodejava.org/examples/805.html

但我不希望它要求用户指向文件位置,我只希望它打开一个包含硬编码目录的文件,并自动绘制它。所以基本上删除顶部的按钮并自动执行按钮的命令。

如果有人能指出我正确的方向,那就太好了,我是物理学家而不是编码专家,所以尽可能多的帮助会非常好。

希望我能帮助你们中的一个作为回报。

4

1 回答 1

0

1)内部public static void main,就在frame.setVisible(true);插入上方openButton.setVisible(false);

2) 内部class GraphPanel,方法内部作为第一行public void actionPerformed(ActionEvent e)插入。datapanel.actionPerformed(e);

3) Inside class DataPanelinside从头到尾public void actionPerformed注释掉JFrame fileFrame = new JFrame();initialized = readFile(datafile);

4)就在评论之后,插入initialized = readFile(new File("path_to_data_file"));

现在,如果您打开并按绘图,将读取硬编码文件并绘制绘图。

哎呀,我不在乎这是否被否决:)。我从未接触过Java。阅读您的问题后,特别I'm a physicist not a coding expert是首先我在 google 中搜索了如何编译和运行 java 文件。然后开始阅读java程序。我什至还制作了另一个不需要按下按钮的版本,只需打开即可绘制您的图表。但这仅在需要时提供。“欢迎来到我的 java 尝试”:)

更新:

为了在 GraphPanel和DataPanel 中不按绘图,并将actionPerformed方法重命名为其他名称,例如Now inside call 而不是early 。如果编译器婴儿床,添加一些空的进行编译。(也许我们可以删除) 现在您的流程已准备就绪,无需任何用户操作。你只需要启动它。因此,您设置隐藏绘图按钮并调用以启动 main 中的流程。GraphPanel::start_workingDataPanel::start_workingGraphPanel::start_workingDataPanel::start_workingdatapanel.actionPerformed(e);actionPerformedimplementsplotButton.setVisible(false);graphpanel.start_work();

更新:

GraphPanel 内部

public void start_working() {
        datapanel.start_working()
        if (!datapanel.isInitialized()) {
            return;
        }
        datapanel.refreshData();
        panel.setDisplayPlot(true);
        panel.update(panel.getGraphics());
        frame.setSize(700, 600);
        frame.setVisible(true);
        frame.pack();
    }

在 DataPanel 里面

 public void start_working(ActionEvent e) {
        initialized = readFile(new File("PATH_TO_FILE");
        panel.update(panel.getGraphics());
        frame.pack();
        frame.setVisible(true);
    }

在主要的最后 5 行

openButton.setVisible(false);
plotButton.setVisible(false);
graphpanel.start_working();
frame.setVisible(true);
frame.pack();
于 2013-04-26T11:19:49.443 回答