Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Java] jpanel in jframe

    Salve,

    sto realizzando la mia prima applicazione gui in java tramite netbeans quindi perdonatemi le eventuali cretinate che scrivo.

    In pratica la finestra che creò si divide in due parti , sulla sx ci saranno i vari bottoni e sulla dx il contenuto che varia a seconda il bottone cliccato.

    Ho pensato di creare la parte destra tramite jpanel che si attivano e disattivano a secondo la scelta fatta nel menù sx.

    I miei dubbi sono :

    1)è corretta la scelta del jpanel oppure ho frainteso l'utilizzo di questa classe?

    2)come nascondo un istanza di jpanel e la rendo visibile solo quando viene attivata dal menù di sx? avevo pensato d'inserire il comando jpanel1.setVisible(false) all'interno del public void run ma esce il seguente errore " non-static variable jPanel1 cannot be referenced from a static context"

    Grazie per l'eventuale disponibilità

    Saluti
    Vincenzo
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    La scelta del JPanel è corretta.
    Per togliere di mezzo un JPanel e visualizzarne un altro devi ricorrere al metodo remove() del ContentPane e al successivo add() del nuovo JPanel.
    Dopo ciascuno di questi metodi (remove e add) va richiamato un validate().

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    codice:
    public class PROVA extends javax.swing.JFrame {
        
        public PROVA() {
            initComponents();
        }
        
    
        private void initComponents() {
    
            jButton1 = new javax.swing.JButton();
        
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("Software");
            setAlwaysOnTop(true);
            setBackground(new java.awt.Color(255, 255, 255));
            setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
            setMaximizedBounds(getMaximizedBounds());
    
            jButton1.setText("Bottone");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
            jButton1.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyPressed(java.awt.event.KeyEvent evt) {
                    jButton1KeyPressed(evt);
                }
            });
    
          
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jButton1)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 519, Short.MAX_VALUE)
                    .addContainerGap())
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(19, 19, 19)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jButton1))
                    .addContainerGap(350, Short.MAX_VALUE))
            );
    
            pack();
        }
    
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        
        }
    
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    
                    new PROVA().setVisible(true);
                    
                }
            });
        }
        
       
        private javax.swing.JButton jButton1;
     
        
    }
    grazie per l'aiuto ma non riesco a capire dove utilizzare i metodi che mi hai consigliato.
    quale/i funzione/i devo modificare per poter creare/inserire/rimuovere jpanel in dipendenza del click sul bottone?
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  4. #4
    Utente di HTML.it L'avatar di mainetz
    Registrato dal
    Oct 2003
    Messaggi
    132
    Qui per il primo bottone:

    codice:
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        
        }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.