Udało mi się tak napisać:
package zaliczeniezad02.pkg1;
import java.awt.Color;
import java.awt.Graphics;
public class rysunek extends javax.swing.JFrame {
public rysunek() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
text = new javax.swing.JTextField();
liczba = new javax.swing.JTextField();
przycisk = new javax.swing.JToggleButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
text.setText(" Podaj liczbe pikseli o ile bedzie zmniejszać się promień kół:");
liczba.setText("5");
przycisk.setText("Rysuj");
przycisk.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
przyciskActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(przycisk, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addComponent(text, javax.swing.GroupLayout.PREFERRED_SIZE, 331, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(liczba, javax.swing.GroupLayout.DEFAULT_SIZE, 53, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(text, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(liczba, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(przycisk)
.addContainerGap(251, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void przyciskActionPerformed(java.awt.event.ActionEvent evt) {
String wpisano = liczba.getText();
int wartosc = Integer.parseInt(wpisano);
kuleczka(wartosc);
}
Graphics kuleczka (int x)
{
Graphics kolo=getGraphics();
kolo.setColor(Color.PINK);
int i=0;
for ( i=0; i<=200; i+=x)
{
kolo.drawOval(100+(i/2), 100+(i/2),200-i ,200-i);
}
return kolo;
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new rysunek().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JTextField liczba;
private javax.swing.JToggleButton przycisk;
private javax.swing.JTextField text;
// End of variables declaration
}
</code
Czy jest to poprawnie rekurencyjnie napisane?
Pisałem w NetBeans JFrame Java.