tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
2492
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jan 2004
    Ort
    NRW
    Beiträge
    677
    Guten Morgen,
    ich hab mal wieder einen kleinen Hänger.

    In meinem Projekt soll ein JFrame ausgeblendet werden, wenn ein anderes Aktiviert wird.


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    
    package ticketsystem;
    import java.io.IOException;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.awt.GridLayout;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    import javax.swing.ButtonGroup;
    public class Main extends JFrame implements ActionListener{
        
        
        ButtonGroup bg = new ButtonGroup();
        JPanel panelToDo = new JPanel();
        JRadioButton rb1 = new JRadioButton("Ticket schreiben");
        JRadioButton rb2 = new JRadioButton("Status abfrage");
        JRadioButton rb3 = new JRadioButton("Operator zugriff");
        JRadioButton rb4 = new JRadioButton("Administrator zugriff");
        
        
        public Main(){
            bg.add(rb1);
            bg.add(rb2);
            bg.add(rb3);
            bg.add(rb4);
            
            rb1.setName("rb1");
            rb2.setName("rb2");
            rb3.setName("rb3");
            rb4.setName("rb4");
            
            getContentPane().setLayout(new GridLayout(4, 0));
            getContentPane().add(rb1);
            getContentPane().add(rb2);
            getContentPane().add(rb3);
            getContentPane().add(rb4);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setSize(210, 170);
            setVisible(true);
            setResizable(false);
            
            rb1.addActionListener(this);
            rb2.addActionListener(this);
            rb3.addActionListener(this);
            rb4.addActionListener(this);
            
        }
        
        public static void main(String args[])
        throws IOException {
            
        Main frame = new Main();
           
        }
        
        public void actionPerformed(ActionEvent e) {
            switch (((JRadioButton) e.getSource()).getName().charAt(2)) {
                case '1':
                    Ticket frame1 = new Ticket();
                    frame1.setSize(800,700);
                    frame1.setVisible(true);
                    frame1.setResizable(false);    
                    
                    break;
                case '2':
                    Statusabfrage frame2 = new Statusabfrage();
                    frame2.setSize(500,150);
                    frame2.setVisible(true);
                    frame2.setResizable(false);
                    break;
                case '3':
                    Operator frame3 = new Operator();
                    frame3.setSize(800,700);
                    frame3.setVisible(true);
                    //frame3.setResizable(false); //Frame noch nicht erstellt
                    break;
                case '4':
                    Administrator frame4 = new Administrator();
                    frame4.setSize(800,700);
                    frame4.setVisible(true);
                    //frame4.setResizable(false);//Frame noch nicht erstellt
                    break;
                    
            }
            
            
        }
        
    }

    Wie man sieht hab ich diese über Radiobuttons soweit gelöst, das ein anderes fenster aktiviert werden kann.
    Nur sollte es auch nur bei dem einen bleiben.
    Jetzt ist es so, wenn man das kleine "Main-Fenster" schließt geht auch das andere zu, bzw. wenn man auf einen anderen Radiobutton klickt geht ein weiteres auf.
    Gerade diese beide Fälle möchte ich unterbinden.
    Ich hab zwar schon diverse Ideen zu einer art "Sleep-modus" gefunden, und auch schon versucht via Fallunterschiede das Fenster zu schließen, aber leider funktioniert überhaupt nichts, bzw ich bekomm Fehlermeldungen.

    Den Part Main frame = new Main(); hab ich auch schon versuchsweisse aus der static voidd main herausgenommen, aber dann liess sich das Programm nicht mehr sichtbar starten.

    Ich weiss im moment nicht weiter, wie ich das nun Lösen kann.
    Hat einer von euch eine Idee wie ich das realisieren könnte ?
    Geändert von dastool (27.08.07 um 09:13 Uhr)
     
    3D Finals auf einem Blick

    Projektil-Tutorial

    Cinema 4D R9 Studio, Cubasis VST 5, Adobe Premiere Pro, Flash MX 2004


    Es wird langsam Zeit den 48 Stunden Tag einzuführen!

  2. #2
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Benutze doch einfach einen JDialog statt einen JFrame und mache den Dialog modal. Damit kannst du solange dieser Dialog offen ist nichts anders in deinem Hauptframe auswählen.

    Hier habe ich das für Fall 2 und 3 mal auf nen JDialog geändert:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
    public void actionPerformed(ActionEvent e) {
            switch (((JRadioButton) e.getSource( )).getName( ).charAt(2)) {
                case '1':
                    JFrame frame1 = new JFrame("Ticket");
                    frame1.setSize(800, 700);
                    frame1.setVisible(true);
                    frame1.setResizable(false);
     
                    break;
                case '2':
                    JDialog frame2 = new JDialog(this, "Statusabfrage", true);
                    frame2.setSize(500, 150);
                    frame2.setVisible(true);
                    frame2.setResizable(false);
                    break;
                case '3':
                    JDialog frame3 = new JDialog(this, "Operator", true);
                    frame3.setSize(800, 700);
                    frame3.setVisible(true);
                    // frame3.setResizable(false); //Frame noch nicht
                    // erstellt
                    break;
                case '4':
                    JFrame frame4 = new JFrame("Administrator");
                    frame4.setSize(800, 700);
                    frame4.setVisible(true);
                    // frame4.setResizable(false);//Frame noch nicht
                    // erstellt
                    break;
     
            }
        }
     

  3. #3
    vites vites ist offline Mitglied
    Registriert seit
    Mar 2007
    Beiträge
    14
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    
    package ticketsystem;
    import java.io.IOException;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.awt.GridLayout;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    import javax.swing.ButtonGroup;
    public class Main extends JFrame implements ActionListener{
        
        JFrame openedFrame = null;
        ButtonGroup bg = new ButtonGroup();
        JPanel panelToDo = new JPanel();
        JRadioButton rb1 = new JRadioButton("Ticket schreiben");
        JRadioButton rb2 = new JRadioButton("Status abfrage");
        JRadioButton rb3 = new JRadioButton("Operator zugriff");
        JRadioButton rb4 = new JRadioButton("Administrator zugriff");
        
        
        public Main(){
            bg.add(rb1);
            bg.add(rb2);
            bg.add(rb3);
            bg.add(rb4);
            
            rb1.setName("rb1");
            rb2.setName("rb2");
            rb3.setName("rb3");
            rb4.setName("rb4");
            
            getContentPane().setLayout(new GridLayout(4, 0));
            getContentPane().add(rb1);
            getContentPane().add(rb2);
            getContentPane().add(rb3);
            getContentPane().add(rb4);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setSize(210, 170);
            setVisible(true);
            setResizable(false);
            
            rb1.addActionListener(this);
            rb2.addActionListener(this);
            rb3.addActionListener(this);
            rb4.addActionListener(this);
            
        }
        
        public static void main(String args[])
        throws IOException {
            
        Main frame = new Main();
           
        }
        
        public void actionPerformed(ActionEvent e) {
            switch (((JRadioButton) e.getSource()).getName().charAt(2)) {
                case '1':
                    Ticket frame1 = new Ticket();
                    if( openedFrame != null){
                        openedFrame.setVisible(false);
                        openedFrame.dispose();
                    }
                    openedFrame = frame1;
                    frame1.setSize(800,700);
                    frame1.setVisible(true);
                    frame1.setResizable(false);    
                    
                    break;
                case '2':
                    Statusabfrage frame2 = new Statusabfrage();
                    if( openedFrame != null){
                        openedFrame.setVisible(false);
                        openedFrame.dispose();
                    }
                    openedFrame = frame2;
                    frame2.setSize(500,150);
                    frame2.setVisible(true);
                    frame2.setResizable(false);
                    break;
                case '3':
                    Operator frame3 = new Operator();
                    if( openedFrame != null){
                        openedFrame.setVisible(false);
                        openedFrame.dispose();
                    }
                    openedFrame = frame3;
                    frame3.setSize(800,700);
                    frame3.setVisible(true);
                    //frame3.setResizable(false); //Frame noch nicht erstellt
                    break;
                case '4':
                    Administrator frame4 = new Administrator();
                    if( openedFrame != null){
                        openedFrame.setVisible(false);
                        openedFrame.dispose();
                    }
                    openedFrame = frame4;
                    frame4.setSize(800,700);
                    frame4.setVisible(true);
                    //frame4.setResizable(false);//Frame noch nicht erstellt
                    break;
                    
            }
            
            
        }
        
    }

    Ich hoffe, ich habe dein Problem richtig verstanden.
     

  4. #4
    Registriert seit
    Jan 2004
    Ort
    NRW
    Beiträge
    677
    Danke Vites, auf die Ide bin ich nicht gekommen
    Zeja, deine version ist auch ned schlecht, leider müsst ich bei dir die "Fenster" nochmal neu machen, und das war mit Netbeans eh schon ne nervige arbeit
    Danke dennoch für die Hilfe

    //edit
    Hab mich wohl etwas zu früh gefreut
    Leider Funktioniert das nicht so, wie gedacht.
    Geändert von dastool (29.08.07 um 06:44 Uhr)
     
    3D Finals auf einem Blick

    Projektil-Tutorial

    Cinema 4D R9 Studio, Cubasis VST 5, Adobe Premiere Pro, Flash MX 2004


    Es wird langsam Zeit den 48 Stunden Tag einzuführen!

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.10.09, 20:32
  2. MouseOut unterdrücken, wenn Button aktiv ist
    Von Dustin84 im Forum Flash Plattform
    Antworten: 9
    Letzter Beitrag: 15.01.09, 07:55
  3. Antworten: 3
    Letzter Beitrag: 08.12.06, 15:29
  4. JFrame nicht starten, wenn aktiv ist?
    Von Sebastian29 im Forum Java
    Antworten: 2
    Letzter Beitrag: 08.05.06, 22:00
  5. CSS Menü (Wenn Link angeklick, Punkt Aktiv)
    Von messa im Forum Javascript & Ajax
    Antworten: 7
    Letzter Beitrag: 20.09.04, 14:08