|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2010
Messaggi: 47
|
[Java] Problema applet generico che aggiunge elementi
Sto creando un applet generico contenente una classe Elementi che disegna una pallina di colore nero in un punto randomizzato. Poi ho un Frame contenente due bottoni "New" (che aggiunge un elemento cioè una pallina all'interno del pannello) e il bottone "Delete" (che serve ad eliminare un elemento selezionazo ma che devo ancora implementare). Ovviamente il pannello l'ho già trascinato all'interno del frame. Non capisco come mai viene subito stampata una pallina e quando premo sul bottone "Add" non mi aggiunge nulla. Vi posto il codice delle tre classi:
Elementi: Codice:
import java.awt.Color;
import java.awt.Graphics;
/**
*
* @author Abenobashi
*/
public class Elementi{
int r;
int x;
int y;
public Elementi(){
r = 50; // Variabile assegnata al raggio largo 50px
x = (int)(Math.random() * 1000); // Posizione x della pallina randomizzata da 0 a 1000
y = (int)(Math.random() * 1000); // Posizione y della pallina randomizzata da 0 a 1000
}
/*Paint che stampa tutti gli elementi da visualizzare*/
public void paint (Graphics g)
{
g.setColor(Color.black); // Rende tutti i prossimi oggetti stampati di colore nero
g.fillOval(x, y, r, r); // Stampa una pallina con le sue relative proprietà
}
}
Codice:
import java.awt.Graphics;
/**
*
* @author Abenobashi
*/
public class Panel extends java.awt.Panel {
public Elementi elementi;
/** Creates new form Panel */
public Panel() {
initComponents(); // Inizializza tutti i componenti
elementi = new Elementi(); // Viene istanziata la variabile oggetto 'elementi'
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
setLayout(new java.awt.BorderLayout());
}// </editor-fold>
@Override
public void paint(Graphics g){
elementi.paint(g);
}
// Variables declaration - do not modify
// End of variables declaration
}
Codice:
import java.awt.Cursor;
/**
*
* @author Abenobashi
*/
public class Frame extends java.awt.Frame {
Elementi elementi;
/** Creates new form Frame */
public Frame() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jToolBar1 = new javax.swing.JToolBar();
jToolBar2 = new javax.swing.JToolBar();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
panel1 = new Panel();
jToolBar1.setRollover(true);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
jToolBar2.setRollover(true);
jButton1.setText("Add");
jButton1.setActionCommand("jbAdd");
jButton1.setFocusable(false);
jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jToolBar2.add(jButton1);
jButton2.setText("Delete");
jButton2.setActionCommand("jbDelete");
jButton2.setFocusable(false);
jButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
jToolBar2.add(jButton2);
add(jToolBar2, java.awt.BorderLayout.NORTH);
add(panel1, java.awt.BorderLayout.CENTER);
pack();
}// </editor-fold>
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
panel1.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
elementi = new Elementi();
panel1.repaint();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Frame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JToolBar jToolBar1;
private javax.swing.JToolBar jToolBar2;
private Panel panel1;
// End of variables declaration
}
Ringrazio anticipatamente nel caso riusciate a risolvere questo problema. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2010
Messaggi: 47
|
Ragazzi era una cavolata che mi ha fatto notare il mio sore di programmazione questo lunedi. Mancava un ArrayList. Ora ci sta facendo fare altri applet generici siccome all'ultimo espe siamo stati tutti insufficienti tranne uno (che è bravissimo in programmazione) ASD.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:15.



















