Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

AWT i SWING problem

[es] :: Java :: AWT i SWING problem

[ Pregleda: 3844 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nikola86
Nikola Vranic
Stara Pazova

Član broj: 21379
Poruke: 40
*.ptt.yu.



Profil

icon AWT i SWING problem28.11.2004. u 12:48 - pre 234 meseci
Ovako ima jednu komponentu tupa List i jednu komponentu tupa JComboBox. Obe su postavljene peko XYLayouta na jedan panel.Problem je kada otvorim JComboBox deo liste prelazi preko kopmonente tipa List i na tom delu gde prelazi po nekoj logici trebalo bi da se vidi JComboBox ali se vide komponenta tipa List.Pokusao sam da prvo stavim List pa onda JComboBox i obrnuto ali nije radilo.Sta da radim?
Theodor
 
Odgovor na temu

me-tuzalem
mensur tuzalemovic
novi pazar

Član broj: 25730
Poruke: 116
*.nat-pool.bgd.sbb.co.yu.



Profil

icon Re: AWT i SWING problem29.11.2004. u 07:34 - pre 234 meseci
Pošalji kod, da ne bi posetioci nagađali da li su dobro razumeli post.
Ja sam koristio obe komponente, ali nisam imao sličnih problema. Tek uvidom u source može se nešto predložiti.
 
Odgovor na temu

Nikola86
Nikola Vranic
Stara Pazova

Član broj: 21379
Poruke: 40
*.ptt.yu.



Profil

icon Re: AWT i SWING problem29.11.2004. u 20:05 - pre 234 meseci
Kod izglada malo pozamasan:
Code:

package igaronica;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import com.borland.dbswing.*;
import javax.swing.border.*;
import java.sql.*;
import javax.swing.table.DefaultTableModel;
import java.util.StringTokenizer;

public class PregledLoga extends Thread implements ActionListener{

  private JPanel panel=new JPanel();
  private XYLayout xYLayout1 = new XYLayout();
  private JPanel izdvajanje = new JPanel();
  private TitledBorder okvir;
  private XYLayout xYLayout2 = new XYLayout();
  private JLabel izaberite = new JLabel();
  private JComboBox izbrojCB = new JComboBox();
  private JPanel radnikPanel = new JPanel();
  private XYLayout xYLayout3 = new XYLayout();
  private TitledBorder titledBorder1;
  private JTextField imeRadnikaTF = new JTextField();
  private JLabel imeRadnika = new JLabel();
  private JPanel vremePanel = new JPanel();
  private TitledBorder titledBorder2;
  private JComboBox godina1 = new JComboBox();
  private JComboBox dan1 = new JComboBox();
  private JComboBox mesec1 = new JComboBox();
  private XYLayout xYLayout4 = new XYLayout();
  private List sat1 = new List();
  private List minut1 = new List();
  private JCheckBox izmedjuDatuma = new JCheckBox();
  private List minut = new List();
  private List sat = new List();
  private JComboBox mesec = new JComboBox();
  private JComboBox dan = new JComboBox();
  private JComboBox godina = new JComboBox();
  private JPanel tipDogadjajaPanel = new JPanel();
  private XYLayout xYLayout5 = new XYLayout();
  private JLabel jLabel2 = new JLabel();
  private List tipDogadjajaList = new List();
  private JButton ok = new JButton();
  private TitledBorder titledBorder3;
  JDialog f;
  JScrollPane sp;
  Server veza;

  private JTable tabela;
  DefaultTableModel model;

  public PregledLoga(Server veza){
    this.veza=veza;
  }

  public void ubaciVrednostiDMGSM(){
    //postavlja vrednosti
    int i;
    for(i=1;i<=31;i++){
      dan.addItem(i + "");
      dan1.addItem(i + "");
    }

    for(i=1;i<=12;i++){
      mesec.addItem(i + "");
      mesec1.addItem(i + "");
    }

    for(i=2004;i<=2012;i++){
      godina.addItem(i + "");
      godina1.addItem(i + "");
    }

    for(i=1;i<=24;i++){
      sat.addItem(i + "");
      sat1.addItem(i + "");
    }

    for(i=0;i<=59;i++){
      minut.addItem(i + "");
      minut1.addItem(i + "");
    }
  }

  public void PregledLogaGo() {
    f=new JDialog(veza.adminCB.f,"Preglde Dogadjaja",true);
    f.setContentPane(panel);

    okvir = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(134, 134, 134)),"Izdvajanje");
    titledBorder1 = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(134, 134, 134)),"Radnik");
    titledBorder2 = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(134, 134, 134)),"Vreme");
    titledBorder3 = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(134, 134, 134)),"Tip dogadjaja");

    panel.setLayout(xYLayout1);
    izdvajanje.setBorder(okvir);
    izdvajanje.setLayout(xYLayout2);
    izaberite.setText("Izaberite");
    radnikPanel.setLayout(xYLayout3);
    radnikPanel.setBorder(titledBorder1);
    imeRadnikaTF.setColumns(12);
    imeRadnika.setText("Ime radnika");
    vremePanel.setBorder(titledBorder2);
    vremePanel.setLayout(xYLayout4);
    izmedjuDatuma.setText("Izmedju Datuma");
    tipDogadjajaPanel.setLayout(xYLayout5);
    jLabel2.setText("Izaberite dogadjaje");
    ok.setText("OK");
    tipDogadjajaPanel.setBorder(titledBorder3);

    panel.add(izdvajanje,                   new XYConstraints(10, 400, 600, 260));
    izdvajanje.add(izaberite,   new XYConstraints(10, 10, -1, -1));
    izdvajanje.add(izbrojCB,        new XYConstraints(65, 8, 110, -1));
    izdvajanje.add(radnikPanel,                new XYConstraints(10, 40, 165, 85));
    radnikPanel.add(imeRadnikaTF,     new XYConstraints(10, 25, -1, -1));
    radnikPanel.add(imeRadnika,   new XYConstraints(10, 0, -1, -1));
    izdvajanje.add(vremePanel,              new XYConstraints(200, 40, 235, 185));
    vremePanel.add(izmedjuDatuma,     new XYConstraints(10, 60, -1, -1));

    vremePanel.add(minut,  new XYConstraints(70, 30, 50, 21));
    vremePanel.add(sat,  new XYConstraints(10, 30, 50, 21));
    vremePanel.add(sat1, new XYConstraints(10, 130, 50, 21));
    vremePanel.add(minut1, new XYConstraints(70, 130, 50, 21));

    vremePanel.add(mesec,  new XYConstraints(70, 0, 50, -1));
    vremePanel.add(dan,  new XYConstraints(10, 0, 50, -1));
    vremePanel.add(godina,  new XYConstraints(130, 0, 80, -1));

    vremePanel.add(dan1, new XYConstraints(10, 100, 50, -1));
    vremePanel.add(mesec1, new XYConstraints(70, 100, 50, -1));
    vremePanel.add(godina1, new XYConstraints(130, 100, 80, -1));

    izdvajanje.add(tipDogadjajaPanel,      new XYConstraints(10, 130, 165, 95));
    tipDogadjajaPanel.add(jLabel2, new XYConstraints(10, 0, -1, -1));
    tipDogadjajaPanel.add(tipDogadjajaList,    new XYConstraints(10, 20, 135, 40));
    izdvajanje.add(ok,        new XYConstraints(200, 5, 235, -1));

    model=new DefaultTableModel();
    model.addColumn("Vreme");
    model.addColumn("Dogadjaj");
    model.addColumn("Radnik");

    tabela = new JTable(model);
    sp=new JScrollPane(tabela,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    panel.add(sp,      new XYConstraints(10, 10, 600, 380));

    izbrojCB.addItem("Svi logovi");
    izbrojCB.addItem("Radnik");
    izbrojCB.addItem("Tip Dogadjaja");
    izbrojCB.addItem("Vreme");

    ok.addActionListener(this);
    izbrojCB.addActionListener(this);

    f.setSize(630,690);
    f.setResizable(false);

    ok.setEnabled(false);

    tipoviDogadjaja();
    tipDogadjajaList.setMultipleMode(true);
    tipDogadjajaList.setEnabled(false);
    imeRadnikaTF.setEditable(false);
    vremeEnable(false);

    izmedjuDatuma.addActionListener(this);
    enable1(false);

    dan.setSize(1,3);
    ubaciVrednostiDMGSM();
    sat.select(0);
    sat1.select(0);
    minut.select(0);
    minut1.select(0);
  }

  public void napuniSve(){
    try{
      Statement s=veza.konekcija.createStatement();
      ResultSet r=s.executeQuery("SELECT * FROM log");

      while(r.next()){
        model.addRow(new Object[]{r.getString(1),r.getString(2),r.getString(3)});
      }
      r.close();
      s.close();
    }
    catch(Exception greska){
      System.out.println("Greska grrrrrrrr");
    }
  }

  public void brisiTabelu(){
    while(model.getRowCount()!=0){
      model.removeRow(0);
    }
  }


  public void select(String tabela,String where,String vrednost){
    try{
      Statement s=veza.konekcija.createStatement();
      ResultSet r=s.executeQuery("SELECT * FROM " + tabela + " where " + where + "='" + vrednost + "'");
      while(r.next()){
        model.addRow(new Object[]{r.getString(1),r.getString(2),r.getString(3)});
      }
      r.close();
      s.close();
    }
    catch(Exception greska){
      System.out.println("Greska select PregledLoga: " + greska.getMessage());
    }
  }

  public void tipoviDogadjaja(){
    try{
      Statement s=veza.konekcija.createStatement();
      ResultSet r=s.executeQuery("Select ime from tipoviDogadjaja");
      while(r.next()){
        tipDogadjajaList.add(r.getString(1));
      }
      r.close();
      s.close();
    }
    catch(Exception greska){
      System.out.println("Greska tipoviDogadjaja: " + greska.getMessage());
    }
  }

  public void enable(){
    if(aktivni.equals("radnik")){
      //zamrzava radnika
      imeRadnikaTF.setEditable(false);
    }
    else if(aktivni.equals("tipDogadjaja")){
      tipDogadjajaList.setEnabled(false);
    }
    else if(aktivni.equals("vreme")){
      vremeEnable(false);
    }
  }

  public void vremeEnable(boolean ok){
    dan.setEnabled(ok);
    mesec.setEnabled(ok);
    godina.setEnabled(ok);
    sat.setEnabled(ok);
    minut.setEnabled(ok);
    dan1.setEnabled(ok);
    mesec1.setEnabled(ok);
    godina1.setEnabled(ok);
    sat1.setEnabled(ok);
    minut1.setEnabled(ok);
    izmedjuDatuma.setEnabled(ok);
  }

  public void enable1(boolean ok){
    dan1.setEnabled(ok);
    mesec1.setEnabled(ok);
    godina1.setEnabled(ok);
    sat1.setEnabled(ok);
    minut1.setEnabled(ok);
  }

  String aktivni;

  public void actionPerformed(ActionEvent e){
    Object src=e.getSource();
    if(src==izbrojCB){
      switch(izbrojCB.getSelectedIndex()){
        case 0:{
          //sve
          ok.setEnabled(false);
          if(aktivni!=null){
            enable();
          }
          aktivni="sve";
          brisiTabelu();
          napuniSve();
          break;
        }
      case 1:{
        //radnik
        ok.setEnabled(true);
        if(aktivni!=null){
          enable();
        }
        aktivni="radnik";
        imeRadnikaTF.setEditable(true);
        break;
      }
    case 2:{
      //tip dogadjaja
      ok.setEnabled(true);
      if(aktivni!=null){
        enable();
      }
      aktivni="tipDogadjaja";
      tipDogadjajaList.setEnabled(true);
      break;
    }
  case 3:{
    //vreme
    ok.setEnabled(true);
    if(aktivni!=null){
      enable();
    }
    aktivni="vreme";
    vremeEnable(true);
    enable1(izmedjuDatuma.isSelected());
    break;
  }
      }
    }
    else if(src==ok){
      casee3:switch(izbrojCB.getSelectedIndex()){
        case 1:{
          //radnik
          String ime=imeRadnikaTF.getText();
          brisiTabelu();
          select("log","radnik",ime);
          break;
        }
      case 2:{
        //tip dogadjaja
        String tipovi[]=tipDogadjajaList.getSelectedItems();
        brisiTabelu();
        for(int i=0;i<tipovi.length;i++){
          select("log","opis",tipovi[i]);
        }
        break;
      }
    case 3:{
      //vreme
      brisiTabelu();
      int d,m,g,s,mm,d1,m1,g1,s1,mm1;
      int d2=0,m2=0,g2=0,s2=0,mm2=0;
      d=Integer.parseInt(dan.getSelectedItem() + "");
      m=Integer.parseInt(mesec.getSelectedItem() + "");
      g=Integer.parseInt(godina.getSelectedItem() + "");
      s=Integer.parseInt(sat.getSelectedItem() + "");
      mm=Integer.parseInt(minut.getSelectedItem() + "");

      if(izmedjuDatuma.isSelected()){
        d1=Integer.parseInt(dan1.getSelectedItem() + "");
        m1=Integer.parseInt(mesec1.getSelectedItem() + "");
        g1=Integer.parseInt(godina1.getSelectedItem() + "");
        s1=Integer.parseInt(sat1.getSelectedItem() + "");
        mm1=Integer.parseInt(minut1.getSelectedItem() + "");
        if(!veza.rezervacijaa.pre(g,m,d,s,mm,g1,m1,d1,s1,mm1)){
          //GRESKA selektovano drugo vreme je manje od prvog vremena i obavestava korisnika
          //,da treba da unese ispravno vreme
          dan1.setSelectedItem(d + "");
          mesec1.setSelectedItem(m + "");
          godina1.setSelectedItem(g + "");
          sat1.select(s);
          minut1.select(mm);
          JOptionPane.showMessageDialog(null,"Pogresno uneto vreme.Drugo vreme\nmora biti vece od prvog.","Greska",JOptionPane.ERROR_MESSAGE);
          break casee3;
        }
        try{
          Statement ss=veza.konekcija.createStatement();
          ResultSet r=ss.executeQuery("SELECT * from log");
          String vreme="";
          while(r.next()){
            vreme=r.getString(1);
            //rastavljanje "vreme" na d,m,g,s,m
            StringTokenizer st=new StringTokenizer(vreme," ");
            int brojac=0;
            while(st.hasMoreTokens()){
              switch(brojac){
                case 0:{
                  //datum
                  StringTokenizer st1=new StringTokenizer(st.nextToken(),".");
                  int b=0;
                  while(st1.hasMoreTokens()){
                    switch(b){
                      case 0:{
                        //mesec
                        m2=Integer.parseInt(st1.nextToken());
                        break;
                      }
                    case 1:{
                      //dan
                      d2=Integer.parseInt(st1.nextToken());
                      break;
                    }
                  case 2:{
                    //godina
                    g2=Integer.parseInt(st1.nextToken());
                    break;
                  }
                    }
                    b++;
                  }
                  break;
                }
              case 1:{
                //vreme
                StringTokenizer st1=new StringTokenizer(st.nextToken(),":");
                int b=0;
                while(st1.hasMoreTokens()){
                  switch(b){
                    case 0:{
                      //sat
                      s2=Integer.parseInt(st1.nextToken());
                      break;
                    }
                  case 1:{
                    //minuti
                    mm2=Integer.parseInt(st1.nextToken());
                    break;
                  }
                  }
                  b++;
                }
                break;
              }
              }
              brojac++;
            }

            //sada proverava da li je ucitano vreme zadovoljavajuce i ako jeste dodaje
            //,novi red u tabelu
            boolean ok=false;
            ifblok:if((g<g2)&&(g2<g1)){
              ok=true;
              break ifblok;
            }
            else if((g==g2) && (g2<g1)){
              ok=true;
              break ifblok;
            }
            else if((g==g1)&&(g1==g2)){
              if((m<m2)&&(m2<m1)){
                ok=true;
                break ifblok;
              }
              else if((m==m2) && (m2<m1)){
                ok=true;
                break ifblok;
                }
              else if((m==m2)&&(m1==m2)){
                if((d<d2)&&(d2<d1)){
                  ok=true;
                  break ifblok;
                }
                else if((d==d2) && (d2<d1)){
                  //ispituje za d2
                  if(s<s2){
                    ok=true;
                  }
                  else if(s==s2){
                    if(mm<mm2){
                      ok=true;
                    }
                  }
                  break ifblok;
                }
                else if((d<d2)&&(d2==d1)){
                  //ispituje za d1
                  if(s2<s1){
                    ok=true;
                  }
                  else if(s2==s1){
                    if(mm2<mm1){
                      ok=true;
                    }
                  }
                }
                else if((d==d2)&&(d2==d1)){
                  if((s==s2)&&(s2==s1)){
                    //ispituje minute
                    if(mm<mm2 && mm2<mm1){
                      ok=true;
                    }
                  }
                  else if((s==s2)&&(s2<s1)){
                    //ispituje s
                    if(mm<mm2){
                      ok=true;
                    }
                  }
                  else if(s<s2 && s2==s1){
                    //ispituje s1
                    if(mm2<mm1){
                      ok=true;
                    }
                  }
                  else if(s<s2 && s2<s1){
                    ok=true;
                  }
                }
              }
            }

            if(ok){
              //datum je izmmedju i dodaje ga u tabelu
              model.addRow(new Object[]{vreme,r.getString(2),r.getString(3)});
            }
          }
          r.close();
          ss.close();
        }
        catch(Exception greska){
          System.out.println("Greska pri ucitavanju vremena iz loga: " + greska.getMessage());
        }
      }
      else{
        select("log","vreme",m + "." + d + "." + g + ". " + s + ":" + mm);
      }
      break;
    }
      }
    }
    else if(src==izmedjuDatuma){
      enable1(izmedjuDatuma.isSelected());
    }
  }



[Ovu poruku je menjao veljaradenkovic dana 30.11.2004. u 11:55 GMT+1]
Theodor
 
Odgovor na temu

_alokiN_
strasbourg

Član broj: 22325
Poruke: 56
*.u-strasbg.fr.

Sajt: www.nadjidom.com


Profil

icon Re: AWT i SWING problem30.11.2004. u 09:46 - pre 234 meseci
Mozda moze nesto da se uradi sa focus-om. Imas metode getFocus, requestFocus, ... u Component i JComponent. Nisam probao, ali to mozda moze da bude to.
 
Odgovor na temu

veljaradenkovic
Velja Radenkovic
Beograd

Član broj: 2977
Poruke: 281
*.rvkds.net.

ICQ: 147120023


Profil

icon Re: AWT i SWING problem30.11.2004. u 10:57 - pre 234 meseci
Ovo naravno nece da radi ... Pokusaj drukcije.
Citat:
Slika kada se pokrene program:
c:/slika.jpg


Za formatiranje koda imas code tagove.

 
Odgovor na temu

[es] :: Java :: AWT i SWING problem

[ Pregleda: 3844 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.