下一个和上一个按钮显示图表故障

时间:2014-04-13 17:45:05

标签: java swing jpanel jfreechart

我正在尝试单步执行包含ArrayList<JPanel>的{​​{1}}。 ChartPanels按钮按预期正确地逐步浏览图表,但是当我单击Next按钮时没有任何反应。我觉得我的逻辑可能会令人费解。谢谢!

注意:PreviouspanelCombination

按钮代码:

JPanel

2 个答案:

答案 0 :(得分:2)

使用CardLayout更改视图,而不是尝试删除和添加面板。您可以通过调用next()的{​​{1}}和previous()方法轻松完成您要执行的操作。您真正需要做的就是将CardLayout的布局设置为panelCombination,将所有面板添加到CardLayout并使用这些方法

panelCombination

How to Use CardLayout

了解详情

同样从您方法签名的外观来看,您似乎正在使用NetBeans GUI Builder。您可以看到How to Use CardLayout with Netbeans GUI Builder

答案 1 :(得分:1)

如果其他人在将来遇到此问题:我在阅读javadoc和链接peeskillet后使用的代码提供:

public class ResultsFrame extends javax.swing.JFrame {

public static CardLayout switchPanels;  

/**
 * Creates new form ResultsFrame
 */
public ResultsFrame() {

    initComponents();
    switchPanels = new CardLayout();
    panelCombination.setLayout(switchPanels);
    getPDDGraph();
    //getProfileGraph();

}

private void NextMouseClicked(java.awt.event.MouseEvent evt){                                     
   switchPanels.next(panelCombination);       
}                                 

private void PreviousMouseClicked(java.awt.event.MouseEvent evt) {                                      
   switchPanels.previous(panelCombination);    
}              

 public static void getPDDGraph() {
   .....

     JFreeChart chart = new JFreeChart(xyplot);
     ChartPanel chartPanel = new ChartPanel(chart);

     panelCombination.add(chartPanel);
 }

再次感谢,它比我之前做的更容易,更加浓缩!