Solido
10-10-2011, 19:46
Salve ragazzi mi sono da qualche giorno cimentato in java! Sono alle prime armi con la programmazione ad oggetti. Sempre sentita dire ma mai usata!
Già c'è il fatto che ancora non ci sono proprio entrato poi certi comandi non riesco ad implementarli per bene...è un mix che mi ha fatto fondere!
Avevo visto un esempio di polimorfismo di un esempio abbastanza classico: quello della classe animale e poi i vari oggetti-> cane, gatto ecc che tramite il metodo getverso() dovrebbero fare il verso a seconda dell'animale selezionato!
L'intezione mia era quella di fare una finestra con vari bottoni uno per ogni animale poi associare ad ognuno una figura e un suono!
Chiaramente prima di scrivere ho cercato ma non sono riuscito a venirne fuori! In primis ho visto che ci sono due approcci awt e swing e da quello che ho capito il secondo è quello più gradito implementato dalla seconda versione tanto che ci sono alcuni metodi "deprecati" quali show().
Ora vi metto il macello di codice che ho scritto:D
java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.*;
public class Fattoria extends Frame {
private JFrame frame;
private JButton button1;
private JButton button2;
private JButton button3;
private JButton button4;
private JButton button5;
private JButton button6;
private JButton button7;
private JButton button8;
private JButton button9;
public Fattoria() {
super();
frame = new JFrame("Fattoria");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(null);
frame.setSize(new Dimension(1000, 1000));
frame.getContentPane().setLayout(new FlowLayout());
frame.ImageIcon icon = new ImageIcon("cane.gif");
button1 = new JButton("Cane", icon);
button1.setIcon(icon);
button1.setDisabledIcon(icon);
button1.setEnabled(false);
button2 = new JButton("Gatto");
button3 = new JButton("Cavallo");
button4 = new JButton("Elefante");
button5 = new JButton("Tigre");
button6 = new JButton("Lupo");
button7 = new JButton("Rana");
button8 = new JButton("Maiale");
button9 = new JButton("Mucca");
button1.setBackground(Color.red);
button2.setBackground(Color.green);
button3.setBackground(Color.white);
button4.setBackground(Color.red);
button5.setBackground(Color.green);
button6.setBackground(Color.white);
button7.setBackground(Color.red);
button8.setBackground(Color.green);
button9.setBackground(Color.cyan); //buttonStop.setLayout(new borderLayout());
//button1.setBounds(5,5,5,5);
JPanel pannello = new JPanel(new GridLayout(3,3)); // crea un pannello!
pannello.add(button1); // aggiunge al pannello i bottoni!
pannello.add(button2);
pannello.add(button3);
pannello.add(button4);
pannello.add(button5);
pannello.add(button6);
pannello.add(button7);
pannello.add(button8);
pannello.add(button9);
frame.add(pannello);
frame.pack();
frame.setVisible(true);
}
}
Spiego alcune cose che magari potrebbero sembrarvi incomprensibili :D
di librerie ne ho importate varie perchè ero nel dubbio!
Se provate l'output a me viene una tab 3x3 con i vari bottoni colorati però non riesco ad andare oltre!
L'audio che per adesso non mi interessa... non riesco però ad applicare l'immagine ad un tasto!Come si fa? ci sono formati predefiniti? va bene se metto le icone nel workspace?
Poi non riesco a dimensionare i vari componenti, cioè: mi da una dimensione di default per la finestra dell'output che posso resizare ma non riesco ad impostarne una dim a mia volontà( lo stesso vale per i bottoni) e poi non riesco ad associare l'immagine che voglio al bottone!
Grazie mille!
Già c'è il fatto che ancora non ci sono proprio entrato poi certi comandi non riesco ad implementarli per bene...è un mix che mi ha fatto fondere!
Avevo visto un esempio di polimorfismo di un esempio abbastanza classico: quello della classe animale e poi i vari oggetti-> cane, gatto ecc che tramite il metodo getverso() dovrebbero fare il verso a seconda dell'animale selezionato!
L'intezione mia era quella di fare una finestra con vari bottoni uno per ogni animale poi associare ad ognuno una figura e un suono!
Chiaramente prima di scrivere ho cercato ma non sono riuscito a venirne fuori! In primis ho visto che ci sono due approcci awt e swing e da quello che ho capito il secondo è quello più gradito implementato dalla seconda versione tanto che ci sono alcuni metodi "deprecati" quali show().
Ora vi metto il macello di codice che ho scritto:D
java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.*;
public class Fattoria extends Frame {
private JFrame frame;
private JButton button1;
private JButton button2;
private JButton button3;
private JButton button4;
private JButton button5;
private JButton button6;
private JButton button7;
private JButton button8;
private JButton button9;
public Fattoria() {
super();
frame = new JFrame("Fattoria");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(null);
frame.setSize(new Dimension(1000, 1000));
frame.getContentPane().setLayout(new FlowLayout());
frame.ImageIcon icon = new ImageIcon("cane.gif");
button1 = new JButton("Cane", icon);
button1.setIcon(icon);
button1.setDisabledIcon(icon);
button1.setEnabled(false);
button2 = new JButton("Gatto");
button3 = new JButton("Cavallo");
button4 = new JButton("Elefante");
button5 = new JButton("Tigre");
button6 = new JButton("Lupo");
button7 = new JButton("Rana");
button8 = new JButton("Maiale");
button9 = new JButton("Mucca");
button1.setBackground(Color.red);
button2.setBackground(Color.green);
button3.setBackground(Color.white);
button4.setBackground(Color.red);
button5.setBackground(Color.green);
button6.setBackground(Color.white);
button7.setBackground(Color.red);
button8.setBackground(Color.green);
button9.setBackground(Color.cyan); //buttonStop.setLayout(new borderLayout());
//button1.setBounds(5,5,5,5);
JPanel pannello = new JPanel(new GridLayout(3,3)); // crea un pannello!
pannello.add(button1); // aggiunge al pannello i bottoni!
pannello.add(button2);
pannello.add(button3);
pannello.add(button4);
pannello.add(button5);
pannello.add(button6);
pannello.add(button7);
pannello.add(button8);
pannello.add(button9);
frame.add(pannello);
frame.pack();
frame.setVisible(true);
}
}
Spiego alcune cose che magari potrebbero sembrarvi incomprensibili :D
di librerie ne ho importate varie perchè ero nel dubbio!
Se provate l'output a me viene una tab 3x3 con i vari bottoni colorati però non riesco ad andare oltre!
L'audio che per adesso non mi interessa... non riesco però ad applicare l'immagine ad un tasto!Come si fa? ci sono formati predefiniti? va bene se metto le icone nel workspace?
Poi non riesco a dimensionare i vari componenti, cioè: mi da una dimensione di default per la finestra dell'output che posso resizare ma non riesco ad impostarne una dim a mia volontà( lo stesso vale per i bottoni) e poi non riesco ad associare l'immagine che voglio al bottone!
Grazie mille!