Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [Java] Problema frame

  1. #1
    Utente di HTML.it L'avatar di Shea
    Registrato dal
    Jul 2000
    Messaggi
    157

    [Java] Problema frame

    Ciao a tutti, ho creato una classe che contiene una form. Il problema è che non so come lanciare la form stessa

    posto il codice così forse potete capire qualcosa di più in ciò che ho scritto.

    codice:
    import javax.swing.JPanel;
    import javax.swing.JTextPane;
    import javax.swing.JFrame;
    import javax.swing.JButton;
    
    
    public class postit {
    	public static void main(String[] args) {
           //System.out.println("Ciao!");
           return initGUI();
        }
    
        public void initGUI() {
            jButton1.setText("jButton1");
            jButton1.setBounds(new java.awt.Rectangle(131, 144, 56, 23));
            jButton1.setLabel("Nuovo");
            jButton1.setActionCommand("bNuovo");
            jButton1.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 10));
            jButton1.setMargin(new java.awt.Insets(1,2,1,2));
            jButton1.setMaximumSize(new java.awt.Dimension(37,21));
            jButton1.setMinimumSize(new java.awt.Dimension(37,21));
            jButton1.setPreferredSize(new java.awt.Dimension(37,21));
            Frame1.setBounds(new java.awt.Rectangle(0,0,438,300));
            Frame1.setSize(new java.awt.Dimension(200,200));
            Frame1.setBackground(new java.awt.Color(255, 255, 0));
            Frame1.getContentPane().setLayout(new java.awt.GridBagLayout());
            Frame1.getContentPane().add(jPanel1,
            new java.awt.GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, java.awt.GridBagConstraints.CENTER, java.awt.GridBagConstraints.BOTH,
            new java.awt.Insets(0, 0, 0, 0), 98, 177));
            jPanel1.setBackground(new java.awt.Color(255,255,0));
            jPanel1.setLayout(null);
            jPanel1.add(jButton1);
            jPanel1.add(jButton2);
            jPanel1.add(jButton3);
            jButton2.setText("jButton2");
            jButton2.setBounds(new java.awt.Rectangle(68, 145, 56, 23));
            jButton2.setActionCommand("bModifica");
            jButton2.setLabel("Modifica");
            jButton2.setMargin(new java.awt.Insets(1,2,1,2));
            jButton2.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 10));
            jButton3.setText("jButton3");
            jButton3.setBounds(new java.awt.Rectangle(6, 145, 57, 23));
            jButton3.setActionCommand("bLeggi");
            jButton3.setLabel("Leggi");
            jButton3.setMargin(new java.awt.Insets(1,2,1,2));
            jButton3.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 10));
        }
    
        public JFrame Frame1 = new JFrame();
        public JPanel jPanel1 = new JPanel();
        public JButton jButton1 = new JButton();
        public JButton jButton2 = new JButton();
        public JButton jButton3 = new JButton();
        }
    Grazie in anticipo per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Il tuo programma conteneva degli errori che non ti permettevano neanche di compilare, ad esempio avevi dei campi non statici a cui accedevi da metodi statici, e ritornavi un intero dal main che è void... comunque in genere per creare un'interfaccia si definisce una classe che estende JFrame e nel cui costruttore metti tutte le istruzioni per inizializzare l'interfaccia e alla fine il metodo show() per mostrare la finestra; poi nel main ti basta crare un'istanza di tale JFrame affinche questo venga visualizzato come ho fatto io:

    codice:
    import javax.swing.JPanel;
    import javax.swing.JTextPane;
    import javax.swing.JFrame;
    import javax.swing.JButton;
    
    
    public class postit {
    	public static void main(String[] args) {
           //System.out.println("Ciao!");
            new MyFrame();
        }
    }
    
    class MyFrame extends JFrame{
    
    	public MyFrame(){
    		initGUI();
    		show();
    	}
    
        public void initGUI() {
            jButton1.setText("jButton1");
            jButton1.setBounds(new java.awt.Rectangle(131, 144, 56, 23));
            jButton1.setActionCommand("bNuovo");
            jButton1.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 10));
            jButton1.setMargin(new java.awt.Insets(1,2,1,2));
            jButton1.setMaximumSize(new java.awt.Dimension(37,21));
            jButton1.setMinimumSize(new java.awt.Dimension(37,21));
            jButton1.setPreferredSize(new java.awt.Dimension(37,21));
            setBounds(new java.awt.Rectangle(0,0,438,300));
            setSize(new java.awt.Dimension(200,200));
            setBackground(new java.awt.Color(255, 255, 0));
            getContentPane().setLayout(new java.awt.GridBagLayout());
            getContentPane().add(jPanel1,
            new java.awt.GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, java.awt.GridBagConstraints.CENTER, java.awt.GridBagConstraints.BOTH,
            new java.awt.Insets(0, 0, 0, 0), 98, 177));
            jPanel1.setBackground(new java.awt.Color(255,255,0));
            jPanel1.setLayout(null);
            jPanel1.add(jButton1);
            jPanel1.add(jButton2);
            jPanel1.add(jButton3);
            jButton2.setText("jButton2");
            jButton2.setBounds(new java.awt.Rectangle(68, 145, 56, 23));
            jButton2.setActionCommand("bModifica");
            jButton2.setMargin(new java.awt.Insets(1,2,1,2));
            jButton2.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 10));
            jButton3.setText("jButton3");
            jButton3.setBounds(new java.awt.Rectangle(6, 145, 57, 23));
            jButton3.setActionCommand("bLeggi");
            jButton3.setMargin(new java.awt.Insets(1,2,1,2));
            jButton3.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 10));
        }
    
       
        public JPanel jPanel1 = new JPanel();
        public JButton jButton1 = new JButton("Nuovo");
        public JButton jButton2 = new JButton("Modifica");
        public JButton jButton3 = new JButton("Leggi");
    }

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  3. #3
    Utente di HTML.it L'avatar di Shea
    Registrato dal
    Jul 2000
    Messaggi
    157
    Grazie per la risposta ma in fase di compilazione ricevo degli errori.
    Prima di tutto ho messo un this. davanti a show(), ora è this.show()

    Poi compilando ho ricevuto i seguenti errori

    codice:
    D:\Personal\postit2>javac postit.java -deprecation
    postit.java:29: warning: setLabel(java.lang.String) in javax.swing.AbstractButton has
     been deprecated
            jButton1.setLabel("Nuovo");
                    ^
    postit.java:51: warning: setLabel(java.lang.String) in javax.swing.AbstractButton has
     been deprecated
            jButton2.setLabel("Modifica");
                    ^
    postit.java:57: warning: setLabel(java.lang.String) in javax.swing.AbstractButton has
     been deprecated
            jButton3.setLabel("Leggi");
                    ^
    3 warnings
    Il codice precedente l'ho scritto con Together Control Center, mando il codice in Run e non ricevo errori, solo che nulla parte e nella directory non trovo le classi compilate, la compilazione la faccio tramite linea di comando da Shell.

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Non sono errori ma warning che riguardano l'uso di metodi vecchi che non dovrebbero essere usati, quali setLabel che infatti avevo eliminato dal tuo codice. L'uso di this.show() non è necessario perche all'interno di una classe i metodi che non vengono esplicitamente invocati su un oggetto, sono automaticamente invocati su this.

    Per eseguire da shell fai:

    java postit

    dalla cartella in cui hai compilato in cui devono eserci i file .class creati con la compilazione. Il propramma che usi per compilare non slo conosce, probabilmente non lo hai settato bene; se sei agli inizi ti consiglio TextPad o JCreator

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

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 © 2024 vBulletin Solutions, Inc. All rights reserved.