Hallo Leute,
ich habe mal eine Frage:
Also ich habe eine Main-Klasse, die eine GUI-Klasse aufruft und damit auch die Grafische Oberfläche.
Mein Problem zur Zeit ist, wenn ich den JInternalFrame über eine Funktion aufrufe muss ich erst reinklicken, damit dieser Frame sichtbar wird.
Warum?
Ich habe mir die API durchgelesen und da gibt es einen Befehl setSelectedFrame() und diesen habe ich auch schon ausprobiert.
Es gibt keine Veränderung, erst wenn ich die Anzeige vom JInternalFrame in den Konstruktor schreibe geht es.
Hier die GUI-Klasse:
Vielen Dank für eure Mühe!
ich habe mal eine Frage:
Also ich habe eine Main-Klasse, die eine GUI-Klasse aufruft und damit auch die Grafische Oberfläche.
Mein Problem zur Zeit ist, wenn ich den JInternalFrame über eine Funktion aufrufe muss ich erst reinklicken, damit dieser Frame sichtbar wird.
Warum?
Ich habe mir die API durchgelesen und da gibt es einen Befehl setSelectedFrame() und diesen habe ich auch schon ausprobiert.
Es gibt keine Veränderung, erst wenn ich die Anzeige vom JInternalFrame in den Konstruktor schreibe geht es.
Hier die GUI-Klasse:
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GUI extends Main implements ActionListener
{
JMenuItem aboutItem;
JFrame frame;
JDesktopPane desktop;
public GUI()
{
frame = new JFrame();
frame.setTitle("Protokoll für W&M");
frame.setSize(1024,768);
frame.setDefaultCloseOperation(0);
frame.setResizable(false);
JPanel einPanel = new JPanel();
//Menübarerstellung
JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
//Menükategorien
JMenu helpMenu = new JMenu("?");
//Menüoptionen
aboutItem = new JMenuItem("Über");
aboutItem.addActionListener(this);
//Menü der Kategorie hinzufügen
helpMenu.add(aboutItem);
//Kategorie der Menübar zuweisen
menuBar.add(helpMenu);
frame.add(einPanel);
frame.setVisible(true);
}
public void such()
{
desktop = new JDesktopPane();
desktop.setDragMode(0);
frame.add(desktop);
JInternalFrame iFrame = new JInternalFrame("Frame 1", true, false, false, false);
iFrame.setLayout(null);
iFrame.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);
JLabel jl = new JLabel();
jl.setText("Ttest");
iFrame.setBackground(Color.GRAY);
iFrame.add(jl);
iFrame.setSize(300, 300);
iFrame.setLocation(400,400);
iFrame.setVisible(true);
desktop.add(iFrame);
desktop.setSelectedFrame(iFrame);
}
public void actionPerformed(ActionEvent evt)
{
Object quelle = evt.getSource();
if(quelle == aboutItem)
{
such();
}
}
}
Vielen Dank für eure Mühe!