Hallo zusammen!
Nach mittlerweile unzähligen Tagen des rumprobierens hier mein Problem:
Ich möchte ein JDialog erzeugen der einen "Detail" Button hat. Wenn man auf den draufklickt, soll sich der JDialog vergrössern und das bestehende JPanel (mit neuen setBounds Werten) soll sich neu zeichnen.
Das ganze ist irgendwie total vermurkst. Habe das schonmal hinbekommen, dass beides funktionierte NUR beim 2. Aufruf von dem ganzen war nach dem Buttonklick ein leerer JDialog zu sehen. Hat also nur jeweils einmal funktioniert.
Hat jemand eine Idee oder besser sowas schonmal gemacht?
Hier mein code:
Und hier die Klasse mit dem Panel:
Ich weiss, dass das alles eher grausam aussieht. Halt alles (krampfhaft) versucht.
Bin dankbar für jede Hilfe!
Nach mittlerweile unzähligen Tagen des rumprobierens hier mein Problem:
Ich möchte ein JDialog erzeugen der einen "Detail" Button hat. Wenn man auf den draufklickt, soll sich der JDialog vergrössern und das bestehende JPanel (mit neuen setBounds Werten) soll sich neu zeichnen.
Das ganze ist irgendwie total vermurkst. Habe das schonmal hinbekommen, dass beides funktionierte NUR beim 2. Aufruf von dem ganzen war nach dem Buttonklick ein leerer JDialog zu sehen. Hat also nur jeweils einmal funktioniert.
Hat jemand eine Idee oder besser sowas schonmal gemacht?
Hier mein code:
Java:
public class Main extends JFrame {...
public JDialog tnDialog;
public Main() {...
tnPanel = new TourNeu();
}
ActionListener tnTour = new ActionListener () // Hier wird der JDialog erzuegt
{
public void actionPerformed (ActionEvent evt)
{
tnDialog = new JDialog(fensterNeu,"Neue Tour Anlegen", false);
TourNeu.y = 0;
tnDialog.add(tnPanel.getJPanelConnection());
tnPanel.setJPanelConnection(true);
tnPanel.repaint();
tnPanel.revalidate();
tnPanel.setVisible(true);
tnDialog.setBounds(190,130,682,530);
tnDialog.repaint();
}
};
ActionListener dTour = new ActionListener(){ // Hier soll der JDialog vergrössert werden
public void actionPerformed(ActionEvent e){
tnDialog.remove(tnPanel.getJPanelConnection());
tnPanel.setJPanelConnection(false);
TourNeu tnPanel2 = new TourNeu();
TourNeu.y = 60;
tnDialog.setSize(682, 590);
tnDialog.add(tnPanel2.getJPanelConnection());
tnPanel2.setJPanelConnection(true)
tnPanel2.setVisible(true);
tnPanel2.repaint();
tnDialog.repaint();
fensterNeu.repaint();
}
};
Und hier die Klasse mit dem Panel:
Java:
public class TourNeu extends JPanel {...
public static int y;
public void setJPanelConnection(boolean x)
{
tNPanel.setVisible(x);
}
public static JPanel tNPanel;
public JPanel getJPanelConnection() {
if(tNPanel != null) {
tNPanel = null;}
if(tNPanel == null) {
tNPanel = new JPanel();
tNPanel.setLayout(null);
tNPanel.setBounds(10,10,688,556+y);
tNPanel.setVisible(true);
}
return tNPanel;
}
Ich weiss, dass das alles eher grausam aussieht. Halt alles (krampfhaft) versucht.
Bin dankbar für jede Hilfe!