我正在繪製一個圓,並在GUI的底部顯示半徑和直徑。我得到了這個圓和GUI中的一切工作,但有問題放在JSlider中,您可以在GUI中調整半徑和直徑。我會如何去做這件事?它會進入超級課堂嗎?將JSlider放入java代碼中?
這是代碼。 (記住有兩班)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Circle1 extends JFrame {
private CircleCanvas theCanvas;
private JTextArea display;
public Circle1() {
super("Circle1");
theCanvas = new CircleCanvas();
display = new JTextArea(5, 30);
display.setText("The Radius is: " + theCanvas.getRadius() + "\nThe Diameter is: " + theCanvas.getDiameter()
+ "\nThe Area is: " + theCanvas.getArea() + "\nThe Circumference is: " + theCanvas.getCircumference());
getContentPane().add(theCanvas, BorderLayout.CENTER);
getContentPane().add(display, BorderLayout.SOUTH);
setSize(200, 200);
show();
}
public static void main(String args[]) {
Circle1 app = new Circle1();
app.addWindowListener(new WindowAdapter() {
public void WindowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
class CircleCanvas extends JPanel {
private int radius;
public CircleCanvas() {
radius = (int) (1 + Math.random() * 100);
setSize(100, 100);
}
public void paintComponent(Graphics g) {
g.drawOval(0, 0, radius, radius);
}
public int getDiameter() {
return (2 * radius);
}
public int getCircumference() {
return (int) (2 * Math.PI * radius);
}
public int getArea() {
return (int) (radius * radius * Math.PI);
}
public int getRadius() {
return radius;
}
}
爲什麼不使用'SeekBar'來代替? –
@Joaquin,什麼是「SeekBar」? 「從我的網上快速搜索,這是一個Android組件,這是一個Swing應用程序 – camickr
是啊,讓我感到困惑太大了JSlider是面向對象的Java – Noah