标题:[求助]关于Panel数值的传递!
取消只看楼主
steven403
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-8-9
 问题点数:0 回复次数:0 
[求助]关于Panel数值的传递!

程序的内容是,在窗体上画出坐标系,通过输入XY在坐标系上画出垂直的线,我的程序想法是,生成两个Panel,一个上面有jbutton ,jtextfield组件,另一个panel是画线的显示,两个加到主窗体上:但老是出现异常,在运行期间。大家帮我看看,这程序,是那里出了错!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Test6 extends JFrame{
drawpanel p;
actionpanel mp;
public Test6(){
p=new drawpanel();
mp=new actionpanel();
getContentPane().add(p,BorderLayout.CENTER);
getContentPane().add(mp,BorderLayout.NORTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800,700);
show();
}
public static void main(String agrs[]){
new Test6();
}
}


//------------------------------------组件动作-------------------------------//
class actionpanel extends JPanel{
JTextField t1,t2;
JLabel l1,l2;
JButton b;
actionpanel(){
t1=new JTextField(4);
t2=new JTextField(4);
l1=new JLabel("X=");
l2=new JLabel("Y=");
b=new JButton("draw the line");
setLayout(new FlowLayout());
add(l1);
add(t1);
add(l2);
add(t2);
add(b);
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int x1=Integer.parseInt(t1.getText());// 取得jtextfield上的值
int y1=Integer.parseInt(t2.getText());
drawpanel t=new drawpanel();
t.mydraw(50+x1,550-y1,50+x1,550);
}
});
}

}
//--------------------------画线类-------------------------//
class drawpanel extends JPanel {
int x[];//存取坐标点
int y[];
int xend,yend;//坐标轴原点位置
actionpanel k=new actionpanel();
drawpanel(){
x=new int[20];
y=new int[20];
xend=50;
yend=550;
x[0]=0;
y[0]=0;
for(int i=1;i<20;i++){ //每隔25画一个坐标点
x[i]=x[i-1]+25;
y[i]=y[i-1]+25;
}
}

public void paint(Graphics g){
//-------------------画坐标紬----------------------//
g.drawLine(50,50,50,550);
g.drawLine(50,550,700,550);
//--------------画纵坐标-----------------------------//
for(int i=0;i<20;i++){
g.drawString(y[i]+" ",xend-30,yend);
g.drawOval(xend,yend,2,2);
yend=yend-25;
}
//--------------画横坐标-----------------------------//
yend=550;
xend=50;
for(int j=0;j<20;j++){

g.drawString(x[j]+"",xend,yend+30);
g.drawOval(xend,yend,2,2);
xend=xend+25;
}

}
public void update(Graphics g){
paint(g);
}
public void mydraw(int a,int b,int c,int d){
Graphics g=getGraphics();
g.drawLine(a,b,c,d);

}


}



搜索更多相关主题的帖子: Panel 数值 import awt java 
2006-03-31 18:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-54190-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.712211 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved