条形图从不同的类到GUI类

时间:2017-03-16 16:31:24

标签: java paint

我有一个带有JPanel和JButton的Gui课程。单击按钮时,我想在JPanel中显示图形。图表属于不同的类别。有人可以帮我这么做吗?

GUI CLASS:

 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();
    }
}
}

1 个答案:

答案 0 :(得分:0)

更改你的getGraph()方法以获取JFrame并传入this

public void getgraph(JFrame f) {

//JFrame f = new JFrame();
f.setSize(400, 300);
... as before ...
}

然后调用actionPerformed

if (e.getSource() == showGraph) {
    SimpleBarChart b =  new SimpleBarChart();
    b.getGraph(this);
}

你不能在一个框架内有一个框架。另一个选择是让getGraph()返回一个JPanel,然后你可以将面板放在现有的框架中,而不是更新整个框架。