Представление Graphstream исчезает при увеличении - PullRequest
0 голосов
/ 07 февраля 2020

Когда я увеличиваю график, половина его исчезает. Я пытался изменить ViewPort без каких-либо результатов. Это код.

public static void printGraph(final Program program) {
    final ViewPanel graphViewNew;
    final Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    final JFrame mainFrame = new JFrame();
    SCGraph graph = new SCGraph(new SingleGraph("CFG"), pred, succ);
    Viewer viewer;

    program.graphLayout(graph);
    program.printGraph(graph);

    viewer = new Viewer(graph.getGraphForView(), Viewer.ThreadingModel.GRAPH_IN_ANOTHER_THREAD);
    graphViewNew = viewer.addDefaultView(false);
    mainFrame.getContentPane().add(graphViewNew);
    mainFrame.setBounds(0, 0, 1300, 1300);
    mainFrame.setLocation(dim.width / 2 - mainFrame.getSize().width / 2,
     dim.height / 2 - mainFrame.getSize().height / 2);
    mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    mainFrame.setVisible(true);

    graphViewNew.addMouseWheelListener(new MouseWheelListener() {
        @Override
        public void mouseWheelMoved(MouseWheelEvent mwe) {
            zoomGraphMouseWheelMoved(mwe, graphViewNew);
        }
    });

}

, и это функция, которая обрабатывает события:

public static void zoomGraphMouseWheelMoved(MouseWheelEvent mwe, ViewPanel view_panel) {
    if (ALT_MASK != 0) {
        if (mwe.getWheelRotation() > 0) {
            double new_view_percent = view_panel.getCamera().getViewPercent() + 0.05;
            view_panel.getCamera().setViewPercent(new_view_percent);
        } else if (mwe.getWheelRotation() < 0) {
            double current_view_percent = view_panel.getCamera().getViewPercent();
            if (current_view_percent > 0.05) {
                view_panel.getCamera().setViewPercent(current_view_percent - 0.05);
            }
        }
    }
}

Более того, у меня та же проблема, если я перемещаюсь в представление со встроенным клавиша (вверх, вниз, влево, вправо, страница вниз, страница вверх).

Здесь изображение до того, как я нажму правую клавишу. Здесь то же самое после.

...