/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.jlab.groot.graphics;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import org.jlab.groot.data.IDataSet;
import org.jlab.groot.group.DataGroup;
/**
*
* @author gavalian
*/
public class EmbeddedCanvasGroup extends JPanel implements ActionListener {
private EmbeddedCanvas canvas = new EmbeddedCanvas();
private int padsPerPage = 12;
private DataGroup dataGroup = new DataGroup();
private int currentPage = 0;
private int maxPages = 1;
private List canvasDataSets = new ArrayList();
JLabel progressLabel = null;
public EmbeddedCanvasGroup(){
super();
setLayout(new BorderLayout());
JPanel buttonsPanel = new JPanel();
JButton buttonPrev = new JButton("<");
this.progressLabel = new JLabel("0/0");
JButton buttonNext = new JButton(">");
buttonPrev.addActionListener(this);
buttonNext.addActionListener(this);
buttonsPanel.setLayout(new FlowLayout());
buttonsPanel.add(buttonPrev);
buttonsPanel.add(this.progressLabel);
buttonsPanel.add(buttonNext);
add(this.canvas,BorderLayout.CENTER);
add(buttonsPanel,BorderLayout.PAGE_END);
}
public void setData(List datasets){
this.canvasDataSets.clear();
this.canvasDataSets.addAll(datasets);
this.currentPage = 0;
this.maxPages = this.canvasDataSets.size()/this.padsPerPage;
if(maxPages*this.padsPerPage0){
currentPage--;
this.canvas.clear();
this.updateCanvas();
}
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().compareTo("<")==0){
this.previousPage();
}
if(e.getActionCommand().compareTo(">")==0){
this.nextPage();
}
}
public static void main(String[] args){
JFrame frame = new JFrame();
EmbeddedCanvasGroup canvasTab = new EmbeddedCanvasGroup();
//EmbeddedCanvasTabbed canvasTab = new EmbeddedCanvasTabbed();
frame.add(canvasTab);
frame.pack();
frame.setMinimumSize(new Dimension(300,300));
frame.setVisible(true);
}
}
Ads help maintain this website.