Я пытаюсь реализовать взаимодействие между некоторыми написанными GUI-элементами (такими как кнопки Java-swing) и JGraphX.Чтобы сделать это, я сначала просто хочу отобразить кнопку рядом с элементом JGraph - и я застрял.
Мой код для отображения самой кнопки работает нормально:
import javax.swing.*;
public class HelloWorld extends JFrame {
public HelloWorld()
{
super("Everything works");
}
public static void main(String[] args)
{
hello_world frame = new hello_world();
frame.setTitle("bub");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 200);
button.setBounds(10, 10, 100, 50);
frame.setVisible(true);
frame.add(button);
}
}
Но как только я добавляю JGraph-компонент, кнопка не отображается в полноэкранном режиме.Я понятия не имею, почему и как это предотвратить.Мой код:
import javax.swing.*;
import com.mxgraph.swing.mxGraphComponent;
import com.mxgraph.view.mxGraph;
public class HelloWorld extends JFrame {
private mxGraph graph;
private Object window;
public HelloWorld()
{
super("Nothing works");
graph = new mxGraph();
window = graph.getDefaultParent();
graph.getModel().beginUpdate();
try
{
Object v2 = graph.insertVertex(window, null, "Hello World!", 200, 150, 80, 30);
}
finally
{
graph.getModel().endUpdate();
}
mxGraphComponent graphComponent = new mxGraphComponent(graph);
getContentPane().add(graphComponent);
}
public static void main(String[] args)
{
hello_world frame = new hello_world();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 200);
JButton button = new JButton("left");
button.setBounds(10, 10, 100, 50);
frame.setVisible(true);
frame.add(button);
}
}
Результат выглядит следующим образом (я вручную изменил размер окна, чтобы показать вам кнопку. Естественно, кнопка будет просто заполнять пространство позади JGraph-Component ипоэтому будет невидимым):