|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2010
Messaggi: 31
|
[Java]Creare un'applicazione
Devo creare un'applicazione o un piccolo gioco per l'esame di "Laboratorio di programmazione".
Esempio: applicazione che gestisce le vendite di un negozio che vende articoli sportivi(con semplici metodi del tipo aggiungi articolo e vendi articolo). Per quanto riguarda la classe "negozio" e "articolo"(e relativi metodi)non ho problemi, ma devo associare a questo "negozio " una sua (interfaccia) grafica. Mi sarebbero d'aiuto dei "vostri appunti" o esempi su come sviluppare la parte grafica di una qualsiasi classe . Spero di esserre stato chiaro
__________________
-.-'' |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
|
|
|
|
|
|
|
#3 |
|
Messaggi: n/a
|
Come ti ha suggerito fero86, per Java la cosa più semplice e ovvia è utilizzare Swing per la creazione della tua interfaccia grafica.
Ti conviene cominciare a dargli un'occhiata e a seguire qualche tutorial, poi, nel caso, fai qualche domanda più specifica perchè chiedere interi "appunti" (o soluzioni pronte) di terzi su esercizi d'esame non è utile per te ed è vietato dal regolamento. |
|
|
|
#4 | |
|
Member
Iscritto dal: Feb 2010
Messaggi: 31
|
Quote:
Comunque ora provo a vedere come funziona questa Swing
__________________
-.-'' |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12944
|
Faresti molto prima ad usare un editor di GUI come NetBeans
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Feb 2010
Messaggi: 31
|
Help
Raga tutte queste "lezioni" che mi avete suggerito utlizzano NetBeans IDE, va bene ugualmentye se uso Eclipse ?
__________________
-.-'' |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Se parli del mio link ti sbagli, puoi anche programmare senza IDE per quanto gli riguarda
Ultima modifica di ndakota : 25-07-2010 alle 13:52. |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12944
|
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Apr 2009
Messaggi: 218
|
Anche io sono un "eclipsiano", ma per quanto riguarda le interfacce grafiche in confronto a Netbeans non c'è paragone. Poi per usare un editor di interfacce su Eclipse dovresti installarti un plugin aggiuntivo chiamato Jigloo.
|
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Feb 2010
Messaggi: 31
|
Ho installato Netbeans, ed effettivamente per quanto riguarda le GUI mi è sembrato molto meglio di eclipse.
Il mio problema è che , dovendo sostenere l'esame di "lab.di programmazione" sono costretto ad usare eclipse
__________________
-.-'' |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
|
e probabilmente vogliono anche che tu impari a scrivere le gui a mano, che non è chissà quale grande impresa, soprattutto grazie alla documentazione sun (oracle whatever :E)
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Userai Swing [usata dal GUI builder di Netbeans] o SWT [usata dal GUI builder di Eclipse]? Il codice lo puoi anche scrivere a mano, ma sarebbe opportuno capire quale libreria specifica userai. Controlla di non avere vincoli in tal senso. Se puoi e vuoi usare Swing: c'è un ottimo tutorial introduttivo (2 orette di lettura) proprio su questo forum, scritto da PGI. Guarda nella sotto-sezione [Corsi, Tutorial e FAQ].
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Feb 2010
Messaggi: 31
|
No non ho vincoli ma il codice devo per forza scriverlo a mano
Ho provato a fare una piccola applicazione ,che riceve un numero intero(in una istanza JTextField) e al click di un Bottone(JButton) scriva su un JLabel il quadrato di questo numero. Ma ho dei dubbi . Scrivo il codice: import javax.swing.*; import java.awt.*; public class PROVA { public static void avvia(){ JFrame frame = new JFrame("prova "); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel Panel=new JPanel(); JLabel Label=new JLabel("SCRIVIMI un numero "); JLabel Labeldue=new JLabel("qui scriverò il numero al quadrato"); JTextField Testo=new JTextField(10); JButton Button=new JButton("il bottone"); Panel.add(Label); Panel.add(Labeldue); Panel.add(Testo); Panel.add(Button); frame.getContentPane().add(Panel); frame.pack(); frame.show(); //*i miei dubbi iniziano qui, dove dovrei scrivere il codice che, al click di"Button" prende il numero da "Testo"( JTextField ) lo moltiplica per se stesso e lo scrive su "Labeldue"*/ //ditemi dove sbaglio perché mi da errore Button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { Moltiplica(evt); } }); public void Moltiplica(java.awt.event.ActionEvent evt) { int num = (int)((Double.parseDouble(Testo.getText())); int pow=num*num; //MODIFICA IL TESTO Di Labeldue: Labeldue.setText(pow + ": è il suo quadrato"); }//fine public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { avvia(); } }); }//fine main }//FINE_CLASSE
__________________
-.-'' Ultima modifica di Giovanni Tavella : 26-07-2010 alle 18:04. |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ho preso il tuo codice e l'ho modificato così:
Codice:
import javax.swing.*;
public class PROVA
{
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
avvia();
}
});
}//fine main
public static void avvia() {
final JFrame FRAME = new JFrame("prova ");
FRAME.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JLabel label = new JLabel("SCRIVIMI un numero ");
final JLabel LABEL_DUE = new JLabel("numero al quadrato");
final JTextField TESTO = new JTextField(10);
JButton button = new JButton("il bottone");
button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
int num = (int) (Double.parseDouble(TESTO.getText()));
int pow=num*num;
//MODIFICA IL TESTO Di Labeldue:
LABEL_DUE.setText(pow + ": è il suo quadrato");
}
});
panel.add(label);
panel.add(LABEL_DUE);
panel.add(TESTO);
panel.add(button);
FRAME.getContentPane().add(panel);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
FRAME.pack();
FRAME.setVisible(true);
}
});
}
}//FINE_CLASSE
La prima sullo "stile"/"convenzioni" con cui si scrive il sorgente (faccenda assolutamente personale, ma conoscere e applicare le convenzioni risulta utile quando si scambia codice con altri programmatori, aiuta a capirsi con minore fatica). I nomi delle variabili dei campi e dei metodi iniziano con la lettera minuscola e seguono la convenzione nota come camelCase. Se la variabile è final viene scritta in maiuscolo, usando l'underscore come separatore tra le parole. La seconda osservazione è il fatto che la dichiarazione del tuo metodo Moltiplica era errata rispetto al modo in cui ti proponevi di usarlo: per invocarlo da un contesto statico avresti dovuto dichiararlo come metodo statico. I metodi non-statici, cioè i metodi di istanza sono i metodi di cui è dotata l'istanza di una classe a runtime; sono cioè visibili dalle singole istanze (che li condividono), ma non dalla classe in quanto tale. I metodi statici invece, sono metodi di classe di cui è dotata la classe in quanto tale; un metodo statico è visibile anche alle eventuali istanze di una classe, ma non è neccessaria l'istanza per accedervi. Infine, sconsiglio l'invocazione del metodo show per vsualizzare un frame, in quanto deprecato. Usa invece setVisible(true) per visualizzarlo e setVisible(false) per nasconderlo di nuovo, al posto dei vecchi show/hide. Chiamare il metodo pack() o setVisible() poi, ha il notevole effetto di rendere il frame visualizzabile: per fare le cose in modo pulito, data l'architettura single thread di Swing, è neccessario invocare questi metodi nell'Event Disptacher Thread. Maggiori dettagli (molto chiari) li trovi nelle prime 3-4 pagine di quel tutorial di PGI che ti ho indicato. Io ti consiglio vivamente di leggerlo: ti farà risparmiare un sacco di tempo
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#16 | ||
|
Member
Iscritto dal: Feb 2010
Messaggi: 31
|
Quote:
Quote:
Grazie per l'aiuto che mi hai dato
__________________
-.-'' Ultima modifica di Giovanni Tavella : 27-07-2010 alle 15:14. |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:06.




















