J'ai la classe Gui avec un JPanel et JButton. Lorsque le bouton est cliqué, je voudrais afficher le graphique dans mon JPanel. Le graphique est dans une classe différente. Quelqu'un peut-il m'aider à faire cela s'il vous plaît?Diagramme à barres de classe différente dans la classe GUI
GUI CLASSE:
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 qui crée un nouveau cadre à l'intérieur du cadre, pas la meilleure solution, en passant le Jpanel dans la méthode getGraph ne fonctionne pas non plus –
Faites de votre JPanel graphPanel une variable membre de la classe afin que vous puissiez conserver une référence. Ensuite, getGraph() retourne un JPanel et fait 'graphPanel = b.getGraph();' dans votre actionePerformed. Puis pack() votre cadre. – geneSummons