Witam
Mam problem chce zrobic tak zeby poprzez wybor pola ComboBox'a zmieniac wyglad panela (wzgledem opcji) no i nie bardzo mi to wychodzi gdyz zbytnio nie mam pomyslu jak to zrobic :/ (1 wiekszy program w javie...)
Mam tak: 1 JFrame w ktorym mam 2 panele JPanel: w 1 mam ComboBoxa a w 2 chcialem zrobic zeby zaleznie od wyboru dokonanego w ComboBoxie wyswietlal rozne (inne przyciski ...takie rozwiniecie wybranej kategorii)
Poki co zrobilem :(kod w skrocie)
public class MainFrame extends JFrame{
(...kod...)
public MainFrame(){
(...kod...)
//mainDesktops@MainFrame
//1->z modelami
mainDesktop1 = new JPanel();
comboBox =new JComboBox();
mainDesktop1.add(comboBox);
comboBox.setBackground(Color.WHITE);
for(int i=0; i<comboBoxItems.length;i++)
comboBox.addItem(comboBoxItems[i]);
comboBox.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent eve){
mainDesktop2.removeAll();
mainDesktop2.validate();
mainDesktop2.add( setView(comboBox.getSelectedIndex()),BorderLayout.CENTER );
validate();
}//actionPerf
});
//2 -> opcje modeli
mainDesktop2 = new JPanel();
titleBorder2 = BorderFactory.createLineBorder(Color.RED);
add(mainDesktop2,BorderLayout.CENTER);
mainDesktop2.setBackground(Color.BLACK);
mainDesktop2.setBorder(new javax.swing.border.TitledBorder(titleBorder2,titleBorder));
}//konstruktor
JPanel setView(int wybor){
JPanel pan = new JPanel();
if (wybor==0){
bscLabel.setText("\n BER - probablity: \n" +(int)(bscKanal.getProbablity()*100) +"%");
bscLabel.setForeground(Color.BLUE);
bscSlider.setMajorTickSpacing(20);
bscSlider.setPaintTicks(true);
bscSlider.setPaintLabels(true);
bscSlider.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2));
bscKanal.setProbablity(bscSlider.getValue()/100);
pan.add(bscLabel);
pan.add(bscSlider,BorderLayout.AFTER_LAST_LINE);
}
return pan;
}
}//class
Ale bardzo bardzo mi sie to nie podoba ( i zreszta bardzo zle to wyglada i dziala ) :-[ Za wiele w Javie nie pisalem(wiec moge miec zle podejscie do sprawy) za pomysly,kod itp rozwiazania tego problemu bede bardzo wdzieczny [soczek]
Nie musi byc to koniecznie JPanel ale cos w czym bede mogl umiescic min. JSlider itp
czolem
Oberon