All pastes #577197 Raw Edit

JComboBox

public java v1 · immutable
·published 2007-06-19 20:24 UTC
rendered paste body
import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.util.*;public class Option extends JPanel implements ActionListener{    private boolean status;    private JButton b;    private Performance p;    private JComboBox gameBox;    private JComboBox raceBox;    private Hashtable raceList = new Hashtable();    private Object selected;    private String path;        public Option(Performance p){        this.p = p;                option();                String[] games = {"Starcraft", "Warcraft"};        gameBox = new JComboBox(games);        gameBox.addActionListener(this);        gameBox.putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE);        add(gameBox, BorderLayout.WEST );                String[] sc = {"Random","Terran","Protoss","Zerg"};        raceList.put(games[0],sc);                String[] wc = {"Random","NightElf","Orc","Human","Undead"};        raceList.put(games[1],wc);                raceBox = new JComboBox(sc);        add(raceBox);                JButton k = new JButton("Repaint");                ActionListener repaintListener = new rep();        k.addActionListener(repaintListener);        add(k, BorderLayout.SOUTH);                // Av någon anledning MÅSTE denna vara med ! ! ! ! ! ! ! !    //    System.out.println("p.optionStatus "+p.optionStatus());    }         public String getPath(){        if(gameBox.getSelectedItem().equals("Starcraft")){            path = "sc";         //   if(raceBox.getSelectedItem().equals("Random")){        //        path += randSc();        //    }            if(getItem().equals((Object)"Terran")){                path += "/bt";            }            else if(raceBox.getSelectedItem().equals((Object)"Protoss")){                path += "/bp";            }        }        System.out.println("EXTRA: "+raceBox.getSelectedItem());        return path;    }        // HERE IS THE METHOD I´M CALLING    public Object getItem(){        System.out.println(this);        return raceBox.getSelectedItem();    }        public String randSc(){        String ans;        double r = Math.random()*2;        if(r < 1){            ans = "/bt";        }        else ans = "/bp";        return ans;    }                public void option(){                // Should starts time and select TextField        JButton s = new JButton("Start");        add(s);              //  ActionListener listener = new klick();   //     s.addActionListener(this);                JButton b = new JButton("Option");        add(b);           //     b.addActionListener(this);    }        //  private class klick implements ActionListener{        public void actionPerformed(ActionEvent e){          selected = raceList.get(gameBox.getSelectedItem());          if(selected == null){              raceBox.setModel(new DefaultComboBoxModel());            }            else{                raceBox.setModel(new DefaultComboBoxModel((String[])selected));            }        }        public class rep implements ActionListener{            public void actionPerformed(ActionEvent e){             //   System.out.println("second: "+raceBox.getSelectedItem());              //  System.out.println("Options getItem(): "+getItem());                System.out.println("Option getItem: "+getItem()+"\n");              //  System.out.println("SELECTED: "+selected+"\n");            }        }}// SECOND CLASSimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class stringView extends JPanel{    private Performance perf;    private Option option;        public stringView(Performance p, Option option){        perf = p;        this.option = option;        setPreferredSize(new Dimension(100,100));                 JButton repainterBut = new JButton("Rep");        ActionListener repListener = new repainter2();        repainterBut.addActionListener(repListener);        add(repainterBut, BorderLayout.EAST);    }    public void paintComponent(Graphics g){        System.out.println("stringView körs ! ! ! !");        super.paintComponent(g);                g.setColor(Color.black);              //  g.drawString("Level: " +perf.getLevel()+" x;",0,10);                g.drawString("Score: " +perf.score(),0,25);        g.setColor(Color.red);        g.drawString("Wrong: " +perf.getWrong(),0,10);        g.setColor(Color.black);        g.drawString("Next: " +perf.getAss(),0,40);        g.drawString("Build: " +perf.getFirstAss(), 0,55);        g.drawImage(Toolkit.getDefaultToolkit().getImage ("pic/"+option.getPath()+"/"+perf.getFirstAns()+".jpg"),0,70,this);      //   System.out.println("stringView Path: pic/"+option.getPath()+"/"+perf.getFirstAns()+".jpg\n");      option.repaint();   //     System.out.println("stringView getPath: "+option.getPath());  //      System.out.println("stringView EXTRA: "+option.getItem());    }        public class repainter2 implements ActionListener{            public void actionPerformed(ActionEvent e){//                System.out.println("stringView getPath: "+option.getPath());                System.out.println("stringView getItem(): "+option.getItem()+"\n");            }        }}// The Class who puts it all together ****************************************************// <Honk> how the hell is the option in line 12 supposed to be the same as the one you add in line 36?import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import javax.accessibility.*;public class LayeredPane extends JPanel{    private Performance perf;    private Option option;    private TextField field;    private View view;    private stringView sview;    private JLayeredPane layer;        // Construcor: takes in all classes    public LayeredPane(Performance perf, Option option, TextField field, View view, stringView sview){        this.perf = perf;        this.option = option;        this.field = field;        this.view = view;        this.sview = sview;                layer = new JLayeredPane();        layer.setPreferredSize(new Dimension(600,500));        // Sets the "settings" to the panels before adding to the JLayeredPane        // TextField is hidden behind the other layers        TextField panel1 = TextFieldSettings();        layer.add(panel1, new Integer(0));        // View put in the middle layer        View panel2 = ViewSettings();        layer.add(panel2, new Integer(1));        // stringView is put on the top        stringView panel3 = stringViewSettings();        layer.add(panel3, new Integer(2));        // Option is put on the top        Option panel4 = OptionSettings();        layer.add(panel4, new Integer(2));                add(layer);    }    // The settings for the View layer/JPanel    private View ViewSettings() {        View v = new View(perf,option);        v.setOpaque(true);        v.setBorder(BorderFactory.createLineBorder(Color.black));        v.setBounds(0, 0, 600, 500);        return v;    }        // The settings for the Option layer/JPanel    private Option OptionSettings(){        Option o = new Option(perf);        o.setOpaque(true);        o.setBorder(BorderFactory.createLineBorder(Color.black));        o.setBounds(100, 400, 400, 40);        return o;    }        // The settings for the stringView layer/JPanel    private stringView stringViewSettings() {        stringView s = new stringView(perf, option);        s.setOpaque(true);        s.setBounds(300, 150, 200, 250);        return s;    }        // The settings for the TextField layer/JPanel    private TextField TextFieldSettings() {        TextField f = new TextField(view, perf, sview);        f.setOpaque(true);        f.setBounds(200, 400, 300, 50);        f.requestFocus();        return f;    }}