Evo ti jedan malecki primer...
Code:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import sun.awt.VerticalBagLayout;
public class Forma extends JFrame{
private static final long serialVersionUID = 5623732470443033149L;
private static Forma instance = null; // omogućuje da forma bude singleton
public JPanel prazno = new JPanel(), prazno1 = new JPanel(), prazno2 = new JPanel(), prazno3 = new JPanel(),
levaMargina = new JPanel(), desnaMargina=new JPanel(), sadrzaj = new JPanel();
public JComboBox nesto = new JComboBox(),
student = new JComboBox(),
brIndexa = new JComboBox();
public JButton dodatakD = new JButton("Dugme");
private Forma() { // singleton forma
init();
}
public static Forma getInstance(){ // singleton forma
if (null == instance)
instance = new Forma();
return instance;
}
public void init(){
setLayout(new BorderLayout());
setPreferredSize(new Dimension(250,250));
prazno.setPreferredSize(new Dimension(120,26));
prazno.add(new JLabel("Nešto: "));
nesto.addItem("");
nesto.addItem("Nešto1");
nesto.addItem("Nešto2");
nesto.addItem("Nešto3");
nesto.addItem("Nešto4");
nesto.addItem("Nešto5");
nesto.addItem("Nešto6");
nesto.addItem("Nešto7");
nesto.addActionListener(new IzborNecega());
prazno1.setPreferredSize(new Dimension(120,26));
prazno1.add(new JLabel("Student: "));
prazno2.setPreferredSize(new Dimension(120,26));
prazno2.add(new JLabel("Broj Indeksa: "));
prazno3.setPreferredSize(new Dimension(120,26));
student.setPreferredSize(new Dimension(120,26));
brIndexa.setPreferredSize(new Dimension(120,26));
dodatakD.setPreferredSize(new Dimension(120,26));
dodatakD.addActionListener(new KlikDD());
levaMargina.setPreferredSize(new Dimension(10,26));
desnaMargina.setPreferredSize(new Dimension(10,26));
sadrzaj.setPreferredSize(new Dimension(120,180));
sadrzaj.setLayout(new VerticalBagLayout());
add(levaMargina,BorderLayout.WEST);
add(desnaMargina,BorderLayout.EAST);
sadrzaj.add(prazno);
sadrzaj.add(stProgram);
sadrzaj.add(prazno1);
sadrzaj.add(student);
sadrzaj.add(prazno2);
sadrzaj.add(brIndexa);
sadrzaj.add(prazno3);
sadrzaj.add(dodatakD);
add (sadrzaj,BorderLayout.CENTER);
pack();
setVidljivost(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void setVidljivost(boolean vidljiv){
student.setEnabled(vidljiv);
brIndexa.setEnabled(vidljiv);
}
private class KlikDD implements ActionListener{
public void actionPerformed(ActionEvent e) {
prazno1.removeAll();
prazno1.add(new JLabel("KlikDD: "));
}
}
private class IzborNecega implements ActionListener{
public void actionPerformed(ActionEvent e) {
switch (stProgram.getSelectedIndex()){
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:setVidljivost(true);
break;
default:setVidljivost(false);
}
}
}
public static void main(String args[]){
Forma dd = Forma.getInstance();
dd.setVisible(true);
}
}
Slično kao
nesto možeš da konfigurišeš i
student i
brIndeksa JComboBox-ove.