各位长者请指点一下

Jimlyli 2010-04-10 09:49:28
import javax.swing.*;
import java.awt.event.*;
import java.awt.Container;
import java.awt.GridLayout;
import java.text.DecimalFormat;
public class Yuan extends JFrame {
private JLabel zuobiaoL1,zuobiaoL2,distanceL;
private JLabel radiusL,circumferenceL,areaL;

private JTextField zuobiaoTF1,zuobiaoTF2;
private JTextField distanceTF,radiusTF,circumferenceTF,areaTF;
private JButton distanceB,radiusB,circumferenceB,areaB,calculateB,exitB;

/* private DistanceButtonHandler disHandler;
private RadiusButtonHandler radHandler;
private CircumferenceButtonHandler cirHandler;
private AreaButtonHandler areHandler;
*/private CalculateButtonHandler calHandler;
private ExitButtonHandler exiHandler;

public static final double PAI=3.1416;
private static final int WIDTH=400;
private static final int HIGHT=1200;

public Yuan(){
zuobiaoL1=new JLabel("坐标1",SwingConstants.RIGHT);
zuobiaoL2=new JLabel("做标2",SwingConstants.RIGHT);
distanceL=new JLabel("distance",SwingConstants.RIGHT);
radiusL=new JLabel("radius",SwingConstants.RIGHT);
circumferenceL=new JLabel("circumference",SwingConstants.RIGHT);
areaL=new JLabel("area",SwingConstants.RIGHT);

zuobiaoTF1=new JTextField(10);
zuobiaoTF2=new JTextField(10);
distanceTF=new JTextField(10);
radiusTF=new JTextField(10);
circumferenceTF=new JTextField(10);
areaTF=new JTextField(10);
/* distance=new JButton("distance");
disHandler=new DistanceButtonHandler();
distance.addActionListener(disHandler);

radius=new JButton("radius");
radHandler=new RadiusButtonHandler();
radius.addActionListener(radHandler);

circumference=new JButton("circumference");
cirHandler=new CircumferenceButtonHandler();
circumference.addActionListener(cirHandler);

area=new JButton("area");
areHandler=new AreButtonHandler();
area.addActionListener(areHandler);
*/
calculateB=new JButton("calculate");
calHandler=new CalculateButtonHandler();
calculateB.addActionListener(calHandler);

exitB=new JButton("exit");
exiHandler=new ExitButtonHandler();
exitB.addActionListener(exiHandler);

setTitle("Yuan");
Container pane=getContentPane();
pane.setLayout(new GridLayout(7,2));

pane.add(zuobiaoL1);
pane.add(zuobiaoTF1);
pane.add(zuobiaoL2);
pane.add(zuobiaoTF2);
pane.add(distanceL);
pane.add(distanceTF);
pane.add(radiusL);
pane.add(radiusTF);
pane.add(circumferenceL);
pane.add(circumferenceTF);
pane.add(areaL);
pane.add(areaTF);
pane.add(calculateB);
pane.add(exitB);

setSize(WIDTH,HIGHT);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);

}
public class CalculateButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
Piont zuobiao1,zuobiao2;
zuobiao1=new Piont(zuobiaoTF1.getText());

zuobiao2=new Piont(zuobiaoTF2.getText());
double d=distance(zuobiao1,zuobiao2);
double r=radius(d);
distanceTF.setText(valueOf(d));
radiusTF.setText(valueOf(radius(d)));
areaTF.setText(""+area(r));
circumferenceTF.setText(""+circumference(r));

}
}
public class ExitButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
System.exit(0);
}
}
public class Piont {
double x,y;
Piont(double X , double Y) {
x = X ;
y = Y ;
}
public static double distance(Piont a ,Piont b) {
double x1=a.x;
double y1=a.y;
double x2=b.x;
double y2=b.y;
double aa=Math.pow(x1-x2,2)+Math.pow(y1-y2,2);
double d=Math.sqrt(aa);
return d;
}
public double radius(double d) {
return (d/2);
}
public double circumference(double r){
return(2*PAI*r);
}
public double area(double r){
return(PAI*r*r);
}
public void main(String[] args){

}
}
}
...全文
62 9 打赏 收藏 转发到动态 举报
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jimlyli 2010-04-11
  • 打赏
  • 举报
回复
厉害,佩服!!!
ZangXT 2010-04-10
  • 打赏
  • 举报
回复


import javax.swing.*;
import java.awt.event.*;
import java.awt.Container;
import java.awt.GridLayout;
import java.text.DecimalFormat;

public class Test extends JFrame {

private JLabel zuobiaoL1, zuobiaoL2, distanceL;
private JLabel radiusL, circumferenceL, areaL;
private JTextField zuobiaoTF1, zuobiaoTF2;
private JTextField distanceTF, radiusTF, circumferenceTF, areaTF;
private JButton distanceB, radiusB, circumferenceB, areaB, calculateB, exitB;
/* private DistanceButtonHandler disHandler;
private RadiusButtonHandler radHandler;
private CircumferenceButtonHandler cirHandler;
private AreaButtonHandler areHandler;
*/
private CalculateButtonHandler calHandler;
private ExitButtonHandler exiHandler;
public static final double PAI = 3.1416;
private static final int WIDTH = 400;
private static final int HIGHT = 1200;

public static void main(String[] args) {
new Test();
}

public Test() {
zuobiaoL1 = new JLabel("坐标1", SwingConstants.RIGHT);
zuobiaoL2 = new JLabel("做标2", SwingConstants.RIGHT);
distanceL = new JLabel("distance", SwingConstants.RIGHT);
radiusL = new JLabel("radius", SwingConstants.RIGHT);
circumferenceL = new JLabel("circumference", SwingConstants.RIGHT);
areaL = new JLabel("area", SwingConstants.RIGHT);

zuobiaoTF1 = new JTextField(10);
zuobiaoTF2 = new JTextField(10);
distanceTF = new JTextField(10);
radiusTF = new JTextField(10);
circumferenceTF = new JTextField(10);
areaTF = new JTextField(10);
/* distance=new JButton("distance");
disHandler=new DistanceButtonHandler();
distance.addActionListener(disHandler);

radius=new JButton("radius");
radHandler=new RadiusButtonHandler();
radius.addActionListener(radHandler);

circumference=new JButton("circumference");
cirHandler=new CircumferenceButtonHandler();
circumference.addActionListener(cirHandler);

area=new JButton("area");
areHandler=new AreButtonHandler();
area.addActionListener(areHandler);
*/
calculateB = new JButton("calculate");
calHandler = new CalculateButtonHandler();
calculateB.addActionListener(calHandler);

exitB = new JButton("exit");
exiHandler = new ExitButtonHandler();
exitB.addActionListener(exiHandler);

setTitle("Yuan");
Container pane = getContentPane();
pane.setLayout(new GridLayout(7, 2));

pane.add(zuobiaoL1);
pane.add(zuobiaoTF1);
pane.add(zuobiaoL2);
pane.add(zuobiaoTF2);
pane.add(distanceL);
pane.add(distanceTF);
pane.add(radiusL);
pane.add(radiusTF);
pane.add(circumferenceL);
pane.add(circumferenceTF);
pane.add(areaL);
pane.add(areaTF);
pane.add(calculateB);
pane.add(exitB);

setSize(WIDTH, HIGHT);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public class CalculateButtonHandler implements ActionListener {

public void actionPerformed(ActionEvent e) {
Piont zuobiao1, zuobiao2;
zuobiao1 = new Piont(zuobiaoTF1.getText());

zuobiao2 = new Piont(zuobiaoTF2.getText());
double d = Piont.distance(zuobiao1, zuobiao2);
double r = Piont.radius(d);
distanceTF.setText(String.valueOf(d));
radiusTF.setText(String.valueOf(Piont.radius(d)));
areaTF.setText("" + Piont.area(r));
circumferenceTF.setText("" + Piont.circumference(r));

}
}

public class ExitButtonHandler implements ActionListener {

public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}

public static class Piont {

double x, y;

Piont(String str) {
//假设坐标输入格式为:x,y
String[] strs = str.split(",");
if(strs.length == 2){
this.x = Double.parseDouble(strs[0]);
this.y = Double.parseDouble(strs[1]);
}
}

Piont(double X, double Y) {
x = X;
y = Y;
}

public static double distance(Piont a, Piont b) {
double x1 = a.x;
double y1 = a.y;
double x2 = b.x;
double y2 = b.y;
double aa = Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2);
double d = Math.sqrt(aa);
return d;
}

public static double radius(double d) {
return (d / 2);
}

public static double circumference(double r) {
return (2 * PAI * r);
}

public static double area(double r) {
return (PAI * r * r);
}
}
}

ZangXT 2010-04-10
  • 打赏
  • 举报
回复
1.Piont有Piont(String str)这样的构造方法吗?
2.distance这些方法谁定义的,方法调用语法?
Jimlyli 2010-04-10
  • 打赏
  • 举报
回复
我想问一下如何用强制转换把这语句zuobiao1=new Piont(zuobiaoTF1.getText());修正
还有 zuobiao2=new Piont(zuobiaoTF2.getText());
double d=distance(zuobiao1,zuobiao2);
double r=radius(d);
distanceTF.setText(valueOf(d));
radiusTF.setText(valueOf(radius(d)));
areaTF.setText(""+area(r));
circumferenceTF.setText(""+circumference(r));
这些方法都出错,如何修正。
Thanks
ZangXT 2010-04-10
  • 打赏
  • 举报
回复
Piont可以写成static内部类。public static class Piont
或者直接提取到Test类之外。

先自己找一下语法错误再谈调试。
poFate 2010-04-10
  • 打赏
  • 举报
回复
因为你的point是内部类,内部类是不能有static方法的
我想问一下,你把这些类都包含在一个类里面,是你源代码就这样 还是你修理过的
Jimlyli 2010-04-10
  • 打赏
  • 举报
回复
调试时出错,如何改正。还有自己写的Piont类中的方法中不能用static,一用就出错;
xiaohuanjie 2010-04-10
  • 打赏
  • 举报
回复
poFate 2010-04-10
  • 打赏
  • 举报
回复
我真得指点你一下!!
大哥你有啥问题你说清楚啊
相关推荐

62,568

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告