jmathplot doesn't work in swing application

给你一囗甜甜゛ 提交于 2019-12-01 21:57:53
  • works with NullLayout, without any issue, but I'm quite not familair with this layout manager (delegate Insets from parent), then I'm leaving any comments about

  • simple don't to use NullLayout

  • override getPreferredSize for Plot2DPanel

  • JPanel has FLowLayout (with the same output as from NullLayout! on resize), accepting only PreferredSize, child aren't resizable with its contianer, is required to use BorderLayout/GridLayout for simple graph

.

.

.

from code

import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import org.math.plot.Plot2DPanel;

public class MyPlot {

    private JFrame frame = new JFrame("JMathPlot library in a swing application.");
    private JPanel panel = new JPanel();

    public MyPlot() {
        double[] x = new double[]{0, 1, 2, 3, 4, 5};
        double[] y = new double[]{10, 11, 12, 14, 15, 16};
        Plot2DPanel plot = new Plot2DPanel() {
            @Override
            public Dimension getPreferredSize() {
                return new Dimension(400, 200);
            }
        };
        plot.addLinePlot("my plot", x, y); // add a line plot to the PlotPanel
        panel.setLayout(new BorderLayout());
        panel.add(plot);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(panel);
        frame.pack();
        frame.setLocation(150, 150);
        frame.setVisible(true);
    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new MyPlot();
            }
        });
    }
}

You can see here examples if you want Jean-Paul:

http://jmathtools.berlios.de/doku.php?id=jmathplot:tutorial

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!