dastool
Erfahrenes Mitglied
Guten Morgen,
ich hab mal wieder einen kleinen Hänger.
In meinem Projekt soll ein JFrame ausgeblendet werden, wenn ein anderes Aktiviert wird.
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 ?
ich hab mal wieder einen kleinen Hänger.
In meinem Projekt soll ein JFrame ausgeblendet werden, wenn ein anderes Aktiviert wird.
Code:
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 ?
Zuletzt bearbeitet: