kleines prob mit JInternalFrame

Status
Nicht offen für weitere Antworten.

MScalli

Bekanntes Mitglied
Hi leutz.
Ich arbeite mit JDesktopPane und JInternalFrames und hab ein kleines Problem.
Ich hab mir ne Methode geschrieben die überwacht ob ein JInternal Frame schon geöffnet wurde,
dann soll dieses nicht neu aufgerufen werden sondern einfach das offene in den Vordergrund gestellt werden.

das klappt eigentlich.. NUR.. ;)
also wenn ich das JInternalFrame minimiere dann kann ich es nocheinmal öffnen.

hier mal mein code

der Aufruf:
Code:
	String cmd = e.getActionCommand();
	//System.out.println(cmd);
	if(cmd.equals("verwaltung")){
		if(!offen("Verwaltung")){
			int begin_width 	= desktop.getWidth() - Verwaltung.getWidthFrame();
			int begin_height 	= desktop.getHeight() - Verwaltung.getHeightFrame();
			new Verwaltung("Verwaltung" , desktop, begin_width, begin_height); 
			setFrameInFront(Verwaltung.getInternalFrame());
		}else{
			setFrameInFront(Verwaltung.getInternalFrame());
		}
	}
	if(cmd.equals("daten_einfuegen")){
		if(!offen("Ablage-System")){
			int begin_width 	= desktop.getWidth() - ArrangeDocuments.getWidthWindow();
			int begin_height 	= desktop.getHeight() - ArrangeDocuments.getHeightWindow();
			new ArrangeDocuments("Daten Einfügen" , desktop, begin_width, begin_height); 
			setFrameInFront(ArrangeDocuments.getInternalFrame());
		}else{
			setFrameInFront(ArrangeDocuments.getInternalFrame());
		}
	}

die Methode offen

Code:
public boolean offen(String ueber_title)
{
    boolean offen=false;
    
    for (int i = 0; i < desktop.getComponentCount(); i++)
    {
        if (desktop.getComponent(i) instanceof JInternalFrame)
             frame = (JInternalFrame) desktop.getComponent(i);

        //System.out.println(frame.getTitle());
        if(frame.getTitle().equals(ueber_title)){
        	offen = true;
        }   
    }
    return offen;
}

weiss einer was ich da machen könnte??

gruss
MScalli
 
C

Christian76

Gast
bin mir nich sicher ob ich dein Problem richtig verstanden habe, aber versuch mal.

Code:
  iframe.hide();
  iframe.show();
 

MScalli

Bekanntes Mitglied
???
glaub schon das es falsch verstanden hast.
es funktioniert alles, also das in vordergrund holen usw. auch.

das Problem liegt daran das ich die selbe Klasse/Fenster NOCH EINMAL öffnen kann
wenn dieses minimiert ist.
 

MScalli

Bekanntes Mitglied
jo.. ist eigentlich nur in den vordergrund setzten

Code:
private void setFrameInFront(JInternalFrame frame) {
	try {
		frame.setSelected(true);
	} catch (PropertyVetoException e) {
		JOptionPane.showMessageDialog(null, "Gewähltes Frame konnte nicht in den Vordergrund gestellt werden");
		e.printStackTrace();
	}
}

und sich das JInternalFrame holen (und länge und breite poste ich gleich mit)
aus der Klasse Verwaltung.

Code:
	public static JInternalFrame getInternalFrame(){
		return frame;
	}
	public static int getHeightFrame(){
		return frameHeight;
	}
	public static int getWidthFrame(){
		return frameWidth;
	}

das Problem liegt daran das das InternalFrame minimiert ist, denn dann kann ich den titel nicht lesen.
mit frame.getTitle() bekomme ich ein leerzeichen zurück.
Also weiss meine Klasse nicht das das InternalFrame eigentlich schon offen ist.
wenn es ganz normal (also nicht minimiert ist) gehts einwandfrei.

alle fenster die es gibt zu maximieren wär evtl ne lösung, aber wie würde das aussehen... lol ;)
 

MScalli

Bekanntes Mitglied
Die Lösung

Code:
/*
 * Methode die dafür sorgt das ein JInternalFrame nicht 2mal aufgerufen werden kann.
 * auch wenn es minimiert ist!!
 */
public boolean offen(String ueber_title)
{
	boolean offen=false;
	for(JInternalFrame frame: desktop.getAllFrames()){
		if(frame.getTitle().equals(ueber_title)){
			offen = true;
        }
	}
	return offen;
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M kleines KI Programm Idee Allgemeine Java-Themen 7
S Unerwarteter Output (kleines Raetsel) Allgemeine Java-Themen 6
G Kleines Projekt Allgemeine Java-Themen 2
I Methoden Schnelle Hilfe benötigt - Kleines Video/Slideshow aus mehreren Bildern erstellen Allgemeine Java-Themen 3
N Kleines GUI/Sortier Projekt für die Uni Allgemeine Java-Themen 11
V Kleines Regex-Problem Allgemeine Java-Themen 3
I kleines Wochenlohn-Programm schreiben Allgemeine Java-Themen 5
F Kleines Problem mit exec Allgemeine Java-Themen 14
C Architekturvorschläge für kleines Projekt Allgemeine Java-Themen 2
S wiedermal ein kleines Problem mit BigDecimal Allgemeine Java-Themen 5
R Kleines Ratespiel Allgemeine Java-Themen 14
N Kleines nicht java Problem Allgemeine Java-Themen 7
F kleines regexp Problem. Allgemeine Java-Themen 3
_SeiA_ Hilfe Kleines Java Programm schreiben. Summen. Allgemeine Java-Themen 3
G von großem Panel auf ein kleines Panel mappen Allgemeine Java-Themen 6
S kleines File problem Allgemeine Java-Themen 13
J Kleines Tool in Java erstellen? Allgemeine Java-Themen 20
B Lizenz und kleines Programm. Allgemeine Java-Themen 3
B kleines modales transparents Fenster ohne rahmen und buttons Allgemeine Java-Themen 15
P Hab ein kleines Problem mit fehlenden Pointern. Allgemeine Java-Themen 4
S Kleines Eclipse Problem, große Wirkung Allgemeine Java-Themen 7
P Habe ein kleines Problem Allgemeine Java-Themen 2
G mit Pattern strings filtern ein kleines problemchen ;) Allgemeine Java-Themen 2
W Kleines Applet in Standard Java Applikation umwandeln Allgemeine Java-Themen 3
S kleines Konstruktorproblem Allgemeine Java-Themen 3
S kleines Spielchen proggen Allgemeine Java-Themen 10
G prob mit selbstgemachter navi Allgemeine Java-Themen 13
S Compliance 5.0 prob: HashMap von obj casten Allgemeine Java-Themen 3
S visible prob mit JFrame und JDialog Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben