Visualizzazione dei risultati da 1 a 4 su 4

Hybrid View

  1. #1

    Esercizio Java Equazioni secondo grado

    Ragazzi dovrei creare un'interfaccia grafica come quella dell'allegato che ho postato, qualcuno potrebbe darmi una mano?
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da MartyCooper Visualizza il messaggio
    Ragazzi dovrei creare un'interfaccia grafica come quella dell'allegato che ho postato, qualcuno potrebbe darmi una mano?
    A grandi linee potresti: mettere il pulsante nella parte SOUTH del BorderLayout predefinito del content-pane del JFrame. Poi nella parte CENTER (o NORTH .. dipende se vuoi che occupi tutto oppure no) sempre del content-pane puoi mettere un JPanel che ha un BoxLayout "verticale" (i componenti sono incolonnati) in cui disponi label, textfield, label, ecc...
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Dovrei fare una piccola premessa, sono stata assente ad alcune lezioni e molte cose le ho saltate. Ora ti mando il codice e lo screen del mio panel (è una cagata)


    codice:
    public class Equazioni extends JFrame {
        private JLabel lA;
        private JTextField txtA;
        private JLabel lB;
        private JTextField txtB;
        private JLabel lC;
        private JTextField txtC;
        private JLabel lR;
        //private JTextField txtR;
        //private JTextArea taStampa;
        private JButton BtRis;
        
        private Container c;
        private JPanel p1,p2;
        
        
        
        public Equazioni(){
            super("equazioni");
            
            setBounds(60,60,270,420);
            
            lA=new JLabel("A(Coefficiente termine secondo grado)",SwingConstants.LEFT);
            txtA=new JTextField(23);
            lB=new JLabel("B(Coefficiente termine primo grado",SwingConstants.LEFT);
            txtB=new JTextField(23);
            lC=new JLabel("Termine noto",SwingConstants.LEFT);
            txtC=new JTextField(23);
            lR=new JLabel("?",SwingConstants.CENTER);
            BtRis=new JButton("Risultato");
            
    
    
            //BtRis.addActionListener(new Ascolta());
            //taStampa=new JTextArea(10,15);
            //taStampa.setEditable(false);
    
    
                
            p1=new JPanel();
            //p1.setBackground(Color.LIGHT_GRAY);
            p1.setLayout(new GridLayout(6,1,15,15));
            p1.add(lA);
            p1.add(txtA);
            p1.add(lB);
            p1.add(txtB);
            p1.add(lC);
            p1.add(txtC);
            
            p2=new JPanel();
            //p2.setBackground(Color.LIGHT_GRAY);
            p2.setLayout(new GridLayout(2,1,15,15));
            p2.add(lR);
            p2.add(BtRis);
            
            c=getContentPane();
            c.setLayout(new FlowLayout());
            //c.setBackground(Color.LIGHT_GRAY);
            c.add(p1);
            c.add(p2);
            
        } //ps. conta anche che il "?" deve essere una jlabel 
    }

    b2.jpg
    Ultima modifica di LeleFT; 09-02-2016 a 13:14 Motivo: Aggiunti i tag CODE

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da MartyCooper Visualizza il messaggio
    Ora ti mando il codice e lo screen del mio panel
    Il tuo codice tecnicamente non è sbagliato. Chiaramente è un po' diverso dallo screenshot iniziale.
    La questione principale è che il content-pane ha un FlowLayout e quindi i due pannelli possono "fluire" su due file (come è così con le dimensioni del frame che hai dato) ma possono anche stare sulla stessa fila, che avviene quando allarghi un po' la finestra. Non credo fosse quello che si voleva.

    Prova a rivedere il codice con le mie indicazioni. Il pulsante BtRis puoi metterlo in SOUTH del BorderLayout (predefinito del content-pane). In NORTH puoi mettere il tuo pannello p1. Va anche bene con GridLayout (come alternativa al BoxLayout verticale che dicevo io prima).
    La label lR puoi metterla in CENTER, così può stare centrata nello spazio che rimane.

    Fai qualche prova e se hai dubbi, chiedi pure.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.