/////// PieSelect.java /////// import java.awt.*; import java.awt.event.*; public class PieSelect extends PieChart { public void init() { if ( ! super.treatArgs() ) return; p = new PieSec(items, perc, clr, 0); p.section(0); setLayout(new BorderLayout()); add(p, "Center"); l = new List(items); // single-selection list for (int i=0; i < items; i++) l.add(name[i]); add(l, "East"); l.select(0); l.setBackground(Color.cyan); l.addActionListener(new ActionHandler()); } // making this a regular application: public static void main(String[] args) { if ( args.length == 0 || args.length%3 != 0 ) { System.err.println("Args: Apple 0.3 red ..."); return; } Frame win = new Frame("PieSelect"); PieChart chart = new PieSelect(); chart.arg = args; chart.init(); win.add(chart, "Center"); win.setSize(300, 200); win.setVisible(true); } private final class ActionHandler implements ActionListener { public void actionPerformed(ActionEvent e) { p.section(l.getSelectedIndex()); } } protected List l; protected PieSec p; }