Ich habe Gui-Klasse mit JPanel und JButton. Wenn die Schaltfläche geklickt wird, möchte ich das Diagramm in meinem JPanel anzeigen. Der Graph ist in einer anderen Klasse. Kann mir bitte jemand helfen?Balkendiagramm von verschiedenen Klassen in GUI-Klasse
GUI KLASSE:
public class Gui extends JFrame implements ActionListener{
JButton showGraph;
public Gui() {
super("GUI");
setSize(1200,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
showGraph = new JButton("SHOW GRAPH");
JPanel mainPanel = new JPanel();
add(mainPanel);
mainPanel.setLayout(new GridLayout(2,0,10,10));
mainPanel.setBorder(new EmptyBorder(10,10,10,10));
mainPanel.add(showGraph);
JPanel graphPanel = new JPanel();
graphPanel.setBackground(Color.yellow);
mainPanel.add(graphPanel);
showGraph.addActionListener(this);
}
public static void main (String[] args){
new Gui().setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == showGraph) {
SimpleBarChart b = new SimpleBarChart();
b.getGraph();
}
}
}
ye das neue Frame innerhalb des Frames erstellt, nicht die beste Lösung, die Jpanel in GetGraph Methode nicht funktioniert entweder –
Machen Sie Ihre 'JPanel graphPanel' eine Klassenmitgliedsvariable, so dass Sie einen Verweis auf es behalten können. Lassen Sie dann getGraph() ein JPanel zurück und machen Sie 'graphPanel = b.getGraph();' in Ihrem actionePerformed. Dann pack() deinen Rahmen. – geneSummons