Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从代码的另一部分中的公共类名访问数据?_Java - Fatal编程技术网

Java 如何从代码的另一部分中的公共类名访问数据?

Java 如何从代码的另一部分中的公共类名访问数据?,java,Java,我正在尝试访问名为curLocation的字符串,该字符串位于DefaultCategoryDataset createDataset()中的public LineChart\u AWT旁边的括号中? 我试图将它设置为另一个值,或者在DefaultCategoryDataset createDataset()中的括号中调用它。但是,他们都没有工作,我该怎么办 public class LineChart_AWT extends ApplicationFrame { ArrayList&l

我正在尝试访问名为
curLocation
字符串,该字符串位于
DefaultCategoryDataset createDataset()
中的
public LineChart\u AWT
旁边的括号中? 我试图将它设置为另一个值,或者在
DefaultCategoryDataset createDataset()中的括号中调用它。但是,他们都没有工作,我该怎么办

public class LineChart_AWT extends ApplicationFrame
{
    ArrayList<Integer> levels;
    ArrayList<Date> dates;
    public LineChart_AWT(String applicationTitle, String chartTitle, String curLocation) {
        super(applicationTitle);
        String location = curLocation;
        JFreeChart lineChart = ChartFactory.createLineChart(
                chartTitle,
                "Time", "Tank Level",
                createDataset(),
                PlotOrientation.VERTICAL,
                true, true, false);

        ChartPanel chartPanel = new ChartPanel(lineChart);
        chartPanel.setPreferredSize(new Dimension(560, 367));
        setContentPane(chartPanel);
    }
    DefaultCategoryDataset createDataset() {

        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        dataset.addValue(15, "Houston", "1970");
        dataset.addValue(200, "Houston", "1980");
        dataset.addValue(60, "Houston", "1990");
        dataset.addValue(120, "Houston", "2000");
        dataset.addValue(240, "Houston", "2010");
        dataset.addValue(300, "Houston", "2014");
        return dataset;
    }

}
public class LineChart\u AWT扩展了应用程序框架
{
阵列列表级别;
ArrayList日期;
公共折线图(字符串应用程序标题、字符串图表标题、字符串卷曲位置){
超级(应用标题);
字符串位置=卷曲位置;
JFreeChart lineChart=ChartFactory.createLineChart(
图表标题,
“时间”,“油箱液位”,
createDataset(),
PlotOrientation.VERTICAL,
真,真,假);
ChartPanel ChartPanel=新的ChartPanel(折线图);
chartPanel.setPreferredSize(新尺寸(560367));
setContentPane(图表面板);
}
DefaultCategoryDataset createDataset(){
DefaultCategoryDataset数据集=新的DefaultCategoryDataset();
数据集。附加值(15,“休斯顿”,“1970”);
数据集.附加值(200,“休斯顿”,“1980”);
数据集.附加值(60,“休斯顿”,“1990”);
dataset.addValue(120,“休斯顿”,“2000”);
dataset.addValue(240,“休斯顿”,“2010”);
数据集.附加值(300,“休斯顿”,“2014”);
返回数据集;
}
}

您需要创建getter和setter来访问私有字段。这里有一个例子

public class LineChart_AWT extends ApplicationFrame
{
    ArrayList<Integer> levels;
    ArrayList<Date> dates;
    private String curLocation;
    public LineChart_AWT(String applicationTitle, String chartTitle, String curLocation) {
        super(applicationTitle);
        this.curLocation = curLocation; //Setting the value here.
        JFreeChart lineChart = ChartFactory.createLineChart(
                chartTitle,
                "Time", "Tank Level",
                createDataset(),
                PlotOrientation.VERTICAL,
                true, true, false);

        ChartPanel chartPanel = new ChartPanel(lineChart);
        chartPanel.setPreferredSize(new Dimension(560, 367));
        setContentPane(chartPanel);
    }
    DefaultCategoryDataset createDataset() {

        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        dataset.addValue(15, "Houston", "1970");
        dataset.addValue(200, "Houston", "1980");
        dataset.addValue(60, "Houston", "1990");
        dataset.addValue(120, "Houston", "2000");
        dataset.addValue(240, "Houston", "2010");
        dataset.addValue(300, "Houston", "2014");
        return dataset;
    }
   
   //Update or set the value
   public void setCurLocation(String curLocation){
       this.curLocation = curLocation;
   }

   //Fetch data from this class.
   public String getCurLocation(){
       return curLocation;
   }

}

public static void main(String[] args) {
    LineChart_AWT lc = new LineChart_AWT("APP_TITLE", "APP_CHART_TITLE", "CURLOCATION: KARACHI");
    String location = lc.getCurLocation(); //Getting data from LineChart_AWT class

}
public class LineChart\u AWT扩展了应用程序框架
{
阵列列表级别;
ArrayList日期;
私有字符串定位;
公共折线图(字符串应用程序标题、字符串图表标题、字符串卷曲位置){
超级(应用标题);
this.curLocation=curLocation;//在此处设置值。
JFreeChart lineChart=ChartFactory.createLineChart(
图表标题,
“时间”,“油箱液位”,
createDataset(),
PlotOrientation.VERTICAL,
真,真,假);
ChartPanel ChartPanel=新的ChartPanel(折线图);
chartPanel.setPreferredSize(新尺寸(560367));
setContentPane(图表面板);
}
DefaultCategoryDataset createDataset(){
DefaultCategoryDataset数据集=新的DefaultCategoryDataset();
数据集。附加值(15,“休斯顿”,“1970”);
数据集.附加值(200,“休斯顿”,“1980”);
数据集.附加值(60,“休斯顿”,“1990”);
dataset.addValue(120,“休斯顿”,“2000”);
dataset.addValue(240,“休斯顿”,“2010”);
数据集.附加值(300,“休斯顿”,“2014”);
返回数据集;
}
//更新或设置值
公共void setCurLocation(字符串curLocation){
this.curLocation=curLocation;
}
//从这个类中获取数据。
公共字符串getCurlLocation(){
返回定位;
}
}
公共静态void main(字符串[]args){
线形图\ AWT lc=新线形图\ AWT(“应用\标题”、“应用\图表\标题”、“位置:卡拉奇”);
String location=lc.getCurLocation();//从LineChart_AWT类获取数据
}

通过创建一个实例属性,就像您为
级别
日期
所做的那样?将方法签名更改为
createDataset
,并将其作为参数传入?“在括号中调用”的含义还不完全清楚:方法接受参数,并用参数调用。