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
,并将其作为参数传入?“在括号中调用”的含义还不完全清楚:方法接受参数,并用参数调用。