Я пытаюсь изменить текст JTextField
, нажимая на JFreeChart
.Как установить текст текстового поля динамически в java?
Я определил два класса, определил JTextField
в одном классе с именем, как First
и JFreeChart
в другом классе по имени, как Second
. И я создал код для получения значения координат x и y, когда я нажимаю на точки, нарисованные на диаграмме.
В коде используется прослушиватель мыши для получения координат. Теперь я хочу передать эти значения координат в текстовое поле, определенное в другом классе First
. Но я не могу получить эти значения динамически.
Я создал четыре текстовых поля, но хочу, чтобы только два из них динамически обновляли значение на клике. Текстовое поле показывает значение 1 для newX
и newY
, которые я назначил. Если я удалю значение 1, которое я присвоил переменной newX
и newY
, он показывает NullPointerException
.
Предложите мне хороший способ сделать то же самое. Я хочу, чтобы всякий раз, когда я нажимаю на точки, нарисованные на графике, они отображаются в текстовом поле. Текстовое поле показывает значение 1 для newX и newY, которое я назначил.
Код я использовал для извлечения значения х и у координат выглядит следующим образом и назван этот класс в качестве первого:
Number newX = 1; //value assigned
Number newY = 1;
chartPanel.addChartMouseListener(new ChartMouseListener() {
public void chartMouseClicked(final ChartMouseEvent event){
try {
XYItemEntity ce = (XYItemEntity) event.getEntity();
newX = ce.getDataset().getX(ce.getSeriesIndex(),
ce.getItem());
newY = ce.getDataset().getY(ce.getSeriesIndex(), ce.getItem());
// retrieving the x and y co-ordinates.
System.out.println("chartMouseClicked at" + " " + newX + " " + newY);
}
catch (Exception e) {}
}
Код я использовал для установки значения в TextField
выглядит следующим образом: Я создал объект класса First и вызываю переменную newX
и newY
в этом классе.
First f = new First("");
Number x = f.newX; //20;
Number y = f.newY; //30;
int xx = x.intValue();
int yy = y.intValue();
int width = 300;
int height = 350;
// converting value into string for textfield
String x1 = String.valueOf(xx);
String y1 = String.valueOf(yy);
String w1 = String.valueOf(width);
String h1 = String.valueOf(height);
Rectangle r = new Rectangle(xx,yy,width,height);
jf1.setText(x1);
jf2.setText(y1);
jf3.setText(w1);
jf4.setText(h1);
Is [ 'JTextField # SetText (String)'] (http://docs.oracle.com/javase/7/docs/api/javax/swing/text/JTextComponent.html#setText (Java. lang.String)) что вы ищете? Для лучшей помощи скорее опубликуйте [mcve]. Также взгляните на [Что такое «NullPointerException» и как его исправить?] (Http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i- fix-it) – MasterBlaster
JTextField не обновляет значения всякий раз, когда я нажимаю на точки. он показывает только значение по умолчанию, которое в моем случае равно 1. Я хочу, чтобы текстовое поле обновляло значение по щелчку. –