Internal Frame in den vordergrund

mirisbowring

Bekanntes Mitglied
Hi,

ich habe ein jPanel, in dem Dauerhaft ein Internal Frame ist.
daneben ist ein anderes Internal Frame.
Wenn ich auf das kleine andere Frame drücke, soll es sich vergrößern und sich automatisch in den Vordergrund legen.

Mein Problem ist, dass es sich zwar vergrößert, ich es aber erst durch erneutes anklicken in den Vordergrund bekomme.

Das habe ich bereits probiert:
toFront(); moveToFront(); -Das Gegenteil davon mit dem anderen Internal Frame-
setSelected(); hide(); show();
Ich habe auch schon probiert das ActionEvent 2x hintereinander auszuführen, um diesen 2. Klick vorzutäuschen, hat aber auch nicht funktioniert.

gibt es noch eine andere Lösung?

mirisbowirng
 
Code ist jetzt das Einzige was wir von dir brauchen. Die Fehlerbeschreibung hast du schon geliefert nur nicht den Übeltäter 🙂.
 
Ok...
Ich habe den Code mal aufs wesentlichste gekürzt:

ganz unten ist das eigentliche event
Java:
Game1;

import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.plaf.basic.BasicInternalFrameUI;


public class GameOverlay_1 extends javax.swing.JPanel {
    //Hintergrund wird geladen
    final ImageIcon bg = new ImageIcon(getClass().getResource("/standart/table4khole.png"));
    //ImageIcon wird zu einem Image konvertiert, da PaintComponent eine java.awt methode ist, und somit keine Javax.swing.ImageIcon funktion unterstützt
    Image img = bg.getImage();
    //Hintergrundbild wird 'gemalt'
    @Override
    public void paintComponent(Graphics g) {      
    g.drawImage(img, 0, 0, 1920, 1080, this); 
    }
  
    public GameOverlay_1() {
        super();
        initComponents();      
        gameFrame.setBorder(null);
        BasicInternalFrameUI bi = (BasicInternalFrameUI)gameFrame.getUI();
        bi.setNorthPane(null);
        //Das Spielfeld wird in das Frame geladen
        GameField gf = new GameField();
        gf.setBounds(400, 400, 100, 100);
        gameFrame.getContentPane().add(gf);
   
        //Player feld wird Randlos
        BasicInternalFrameUI bip1 = (BasicInternalFrameUI)player1.getUI();
        bip1.setNorthPane(null);
        BasicInternalFrameUI bip2 = (BasicInternalFrameUI)player2.getUI();
        bip2.setNorthPane(null);
        BasicInternalFrameUI bip4 = (BasicInternalFrameUI)player5.getUI();
        bip4.setNorthPane(null);
        BasicInternalFrameUI bip5 = (BasicInternalFrameUI)player6.getUI();
        bip5.setNorthPane(null);
    }  
  
  
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                        
    private void initComponents() {

        gameFrame = new javax.swing.JInternalFrame();
        player2 = new javax.swing.JInternalFrame();
        player5 = new javax.swing.JInternalFrame();
        player1 = new javax.swing.JInternalFrame();
        player6 = new javax.swing.JInternalFrame();

        setBackground(new java.awt.Color(255, 255, 255));
        setPreferredSize(new java.awt.Dimension(1920, 1080));

        gameFrame.setBorder(null);
        gameFrame.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        gameFrame.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
        gameFrame.setNormalBounds(new java.awt.Rectangle(240, 142, 1440, 796));
        gameFrame.setOpaque(true);
        gameFrame.setPreferredSize(new java.awt.Dimension(1440, 796));
        gameFrame.setRequestFocusEnabled(false);
        gameFrame.setVisible(true);
        gameFrame.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseExited(java.awt.event.MouseEvent evt) {
                gameFrameMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                gameFrameMousePressed(evt);
            }
        });
        gameFrame.getContentPane().setLayout(null);

        player2.setBorder(null);
        player2.setTitle("Player2");
        player2.setNormalBounds(new java.awt.Rectangle(400, 955, 300, 125));
        player2.setPreferredSize(new java.awt.Dimension(300, 125));
        player2.setVisible(true);
        player2.getContentPane().setLayout(null);

        player5.setBackground(new java.awt.Color(255, 255, 255));
        player5.setBorder(null);
        player5.setTitle("Player5");
        player5.setNormalBounds(new java.awt.Rectangle(400, 0, 300, 125));
        player5.setPreferredSize(new java.awt.Dimension(300, 125));
        player5.setVisible(true);
        player5.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                player5MousePressed(evt);
            }
        });
        player5.getContentPane().setLayout(null);

        player1.setBackground(new java.awt.Color(255, 153, 153));
        player1.setBorder(null);
        player1.setTitle("Player1");
        player1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        player1.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
        player1.setNormalBounds(new java.awt.Rectangle(1220, 955, 300, 125));
        player1.setPreferredSize(new java.awt.Dimension(300, 125));
        player1.setVisible(true);
        player1.getContentPane().setLayout(null);

        player6.setBorder(null);
        player6.setTitle("Player6");
        player6.setNormalBounds(new java.awt.Rectangle(1220, 0, 300, 125));
        player6.setPreferredSize(new java.awt.Dimension(300, 125));
        player6.setVisible(true);
        player6.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                player6MousePressed(evt);
            }
        });
        player6.getContentPane().setLayout(null);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(240, 240, 240)
                        .addComponent(gameFrame, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(400, 400, 400)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(player5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(520, 520, 520)
                                .addComponent(player6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(player2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(520, 520, 520)
                                .addComponent(player1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                .addGap(240, 240, 240))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(player6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(player5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(17, 17, 17)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(gameFrame, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(17, 17, 17)
                        .addComponent(player2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(player1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
        );
    }// </editor-fold>                      

    private void gameFrameMousePressed(java.awt.event.MouseEvent evt) {                                     
        player5.setBounds(300, 0, 300, 125);
        player6.setBounds(1320, 0, 300, 125);
    }                                    

    private void gameFrameMouseExited(java.awt.event.MouseEvent evt) {                                    
      
    }                                   

    private void player5MousePressed(java.awt.event.MouseEvent evt) {                                   
        player5.setBounds(200, 0, 500, 300);      
    }                                  

    private void player6MousePressed(java.awt.event.MouseEvent evt) {                                   
        player6.setBounds(1120, 0, 500, 300);      
    }                                  


    // Variables declaration - do not modify                   
    public javax.swing.JInternalFrame gameFrame;
    public javax.swing.JInternalFrame player1;
    public javax.swing.JInternalFrame player2;
    public javax.swing.JInternalFrame player5;
    public javax.swing.JInternalFrame player6;
    // End of variables declaration                 

}
 

Zurück
Oben