AVR programmer
دوشنبه 21 تیر 1395, 23:13 عصر
دارم برنامه ای مینویسم که با تغییر یک slider شعاع دایره ای که رسم شده تغییر پیدا کنه و دایره کوچک و بزرگ بشه !
که در کار با دایره دچار مشکل شدم چون اندازه دایره تغییر نمیکنه و برنامه ارور میده لطفا در تکمیل و اشکال یابی برنامه کمکم کنید .
اینم برنامه است :
package jslider;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Paint;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JSlider;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import javax.swing.JTextField;
public class jslider1 extends JFrame {
private JPanel contentPane;
private JTextField textField;
private int r = 100;
private Graphics gr = null;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
jslider1 frame = new jslider1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public jslider1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JSlider slider = new JSlider();
slider.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent arg0) {
int r = slider.getValue();
textField.setText(String.valueOf(r));
paint(gr);
}
});
slider.setBounds(28, 36, 200, 23);
contentPane.add(slider);
textField = new JTextField();
textField.setBounds(28, 115, 200, 23);
contentPane.add(textField);
textField.setColumns(10);
}
@Override
public void paint(Graphics g) {
super.paintComponents(g);
g.setColor(Color.CYAN);
g.fillOval(250, 150, r, r + 10);
}
}
اینم عکس از اجرای برنامه :
141395
که در کار با دایره دچار مشکل شدم چون اندازه دایره تغییر نمیکنه و برنامه ارور میده لطفا در تکمیل و اشکال یابی برنامه کمکم کنید .
اینم برنامه است :
package jslider;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Paint;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JSlider;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import javax.swing.JTextField;
public class jslider1 extends JFrame {
private JPanel contentPane;
private JTextField textField;
private int r = 100;
private Graphics gr = null;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
jslider1 frame = new jslider1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public jslider1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JSlider slider = new JSlider();
slider.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent arg0) {
int r = slider.getValue();
textField.setText(String.valueOf(r));
paint(gr);
}
});
slider.setBounds(28, 36, 200, 23);
contentPane.add(slider);
textField = new JTextField();
textField.setBounds(28, 115, 200, 23);
contentPane.add(textField);
textField.setColumns(10);
}
@Override
public void paint(Graphics g) {
super.paintComponents(g);
g.setColor(Color.CYAN);
g.fillOval(250, 150, r, r + 10);
}
}
اینم عکس از اجرای برنامه :
141395