如何将变量传递给另一个java文件
我想把calculator.java输入的值放到XYLineChart\u AWT.java中,我该怎么做 这是我的calculator.java代码如何将变量传递给另一个java文件,java,netbeans,Java,Netbeans,我想把calculator.java输入的值放到XYLineChart\u AWT.java中,我该怎么做 这是我的calculator.java代码 public class calculator extends javax.swing.JFrame { private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
public class calculator extends javax.swing.JFrame {
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int x1, y1, x2, y2,
inverted_x1, inverted_y1, inverted_x2, inverted_y2,
x1Times2, x2Times2, y1Times2, y2Times2,
x1raised, y1raised, x2raised, y2raised,
computeX, computeY, computeS,
x2inverted, y2inverted, invertedx2times2, invertedy2times2;
try{
x1 = Integer.parseInt(jTextField1.getText());
y1 = Integer.parseInt(jTextField2.getText());
x2 = Integer.parseInt(jTextField3.getText());
y2 = Integer.parseInt(jTextField4.getText());
Graphics g = jPanel1.getGraphics();
g.drawLine(x1 + 200,y1 - 115 ,x2 + 200,y2 - 115);
inverted_x1 = x1 *= -1;
inverted_y1 = y1 *= -1;
inverted_x2 = x2 *= -1;
inverted_y2 = y2 *= -1;
jTextField5.setText("(x" + Integer.toString(inverted_x1) + ")² + (y" + Integer.toString(inverted_y1) + ")²"
+ " = (x" + Integer.toString(inverted_x2) + ")² + (y" + Integer.toString(inverted_y2) + ")²" );
x1Times2 = inverted_x1*2;
y1Times2 = inverted_y1*2;
x2Times2 = inverted_x2*2;
y2Times2 = inverted_y2*2;
x1raised = inverted_x1*inverted_x1;
y1raised = inverted_y1*inverted_y1;
x2raised = inverted_x2*inverted_x2;
y2raised = inverted_y2*inverted_y2;
jTextField9.setText("x" + Integer.toString(x1Times2) + "x" + Integer.toString(x1raised) + "+y²" + Integer.toString(y1Times2)
+ "y" + Integer.toString(y1raised) + "= x²" + Integer.toString(x2Times2) + "x" + Integer.toString(x2raised) + "+y²"
+ Integer.toString(y2Times2) + "y" + Integer.toString(y2raised));
x2inverted = x2raised *= -1;
y2inverted = y2raised *= -1;
invertedx2times2 = x2Times2 *= -1;
invertedy2times2 = y2Times2 *= -1;
computeX = x1Times2 + invertedx2times2;
computeY = y1Times2 + invertedy2times2;
computeS = x2inverted + y2inverted + x1raised + y1raised;
jTextField17.setText(Integer.toString(computeX) + "x" + Integer.toString(computeY) + "y" + Integer.toString(computeS) + "=0");
XYLineChart_AWT chart = new XYLineChart_AWT("Locus of Point Graph", "");
chart.pack( );
RefineryUtilities.centerFrameOnScreen( chart );
chart.setVisible( true );
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Please fill necessary inputs");
}
}
这是我的XYLineChart_AWT.java代码,我想把calculator.java中的x1、y1、x2和y2的值放在points.add中
public class XYLineChart_AWT extends javax.swing.JFrame
{
public XYLineChart_AWT( String applicationTitle, String chartTitle )
{
super(applicationTitle);
JFreeChart xylineChart = ChartFactory.createXYLineChart(
chartTitle ,
"X- axis" ,
"Y - axis" ,
createDataset() ,
PlotOrientation.VERTICAL ,
true , true , false);
ChartPanel chartPanel = new ChartPanel( xylineChart );
chartPanel.setPreferredSize( new java.awt.Dimension( 500 , 500 ) );
final XYPlot plot = xylineChart.getXYPlot( );
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer( );
renderer.setSeriesPaint( 0 , Color.RED );
renderer.setSeriesStroke( 0 , new BasicStroke( 4.0f ) );
plot.setRenderer( renderer );
setContentPane( chartPanel );
}
private XYDataset createDataset( )
{
final XYSeries points = new XYSeries( "bla bla" );
points.add( 2.0, 6.0);
points.add( 5.0, 3.0);
final XYSeriesCollection dataset = new XYSeriesCollection( );
dataset.addSeries( points );
return dataset;
}
public static void main( String[ ] args )
{
XYLineChart_AWT chart = new XYLineChart_AWT("Locus of Point Graph", "");
chart.pack( );
RefineryUtilities.centerFrameOnScreen( chart );
chart.setVisible( true );
}
}
对不起,我是java新手,提前谢谢你 如果通过另一个Java类的构造函数传递x1、x2、y1、y2的值,则可以实现这一点,如下所示:
int[] array = new int[4];
array[0] = x1;
array[1] = x2;
array[2] = y1;
array[3] = x2;
XYLineChart_AWT chart = new XYLineChart_AWT("Locus of Point Graph", "", array);
在另一个Java类XYLineChart_AWT中,您需要用一个或多个参数展开constructor
public class XYLineChart_AWT extends javax.swing.JFrame
{
int[] array;
public XYLineChart_AWT( String applicationTitle, String chartTitle, int[] array )
{
super(applicationTitle);
this.array = array;
JFreeChart xylineChart = ChartFactory.createXYLineChart(
chartTitle ,
"X- axis" ,
"Y - axis" ,
createDataset() ,
PlotOrientation.VERTICAL ,
true , true , false);
ChartPanel chartPanel = new ChartPanel( xylineChart );
chartPanel.setPreferredSize( new java.awt.Dimension( 500 , 500 ) );
final XYPlot plot = xylineChart.getXYPlot( );
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer( );
renderer.setSeriesPaint( 0 , Color.RED );
renderer.setSeriesStroke( 0 , new BasicStroke( 4.0f ) );
plot.setRenderer( renderer );
setContentPane( chartPanel );
}
在此之后,在XYLineChart类中使用.array=array\u AWT您可以使用array[0],array[1],…谢谢Raca!我已经设法做到了,并且理解了它。非常感谢你: