у меня есть проблема во время использования array объектов Posicion
названный posiciones
в третьем классе, который является окном (VentanaPrioridades), в котором я хочу сыграть с именем, цветом и положением того же самого.
Класс Положение
package gestionPrioridades;
import java.awt.Color;
public class Posicion extends VentanaPrioridades {
private static final long serialVersionUID = 1L;
//Propiedades
protected Color color;
protected String nombreSurfer;
protected int posicion;
public Color getColor() {
return color;
}
public void setColor(Color color) {
this.color = color;
}
public String getNombreSurfer() {
return nombreSurfer;
}
public void setNombreSurfer(String nombreSurfer) {
this.nombreSurfer = nombreSurfer;
}
public int getPosicion() {
return posicion;
}
public void setPosicion(int posicion) {
this.posicion = posicion;
}
public Posicion(Color color, String nombreSurfer, int i) {
this.color = color;
this.nombreSurfer = nombreSurfer;
this.posicion = -1;
}
}
Класс main
package main;
import java.awt.Color;
import java.util.ArrayList;
import gestionPrioridades.Posicion;
import gestionPrioridades.VentanaPrioridades;
public class main {
public main() {
//GESTIÓN DE PRIORIDADES
VentanaPrioridades prioridades = new VentanaPrioridades();
Posicion[] posiciones = new Posicion[4];
posiciones[0] = new Posicion(Color.black, "Jaime Amán", -1);
posiciones[1] = new Posicion(Color.BLUE, "Lucas Quintana", -1);
posiciones[2] = new Posicion(Color.GREEN, "Ana Abatu", -1);
posiciones[3] = new Posicion(Color.RED, "Amanda Lucas", -1);
}
}
Класс VentanaPrioridades (где я хочу использовать элементы array main)
package gestionPrioridades;
public class VentanaPrioridades extends JFrame {
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new VentanaPrioridades();
}
});
}
public VentanaPrioridades() {
JLabel lblSurfer1 = new JLabel("AQUI QUIERO METER EL NOMBRE");
VentanaPrioridades не имеет доступа к Положению. PosiciГіn sГ - он имеет доступ к VentanaPrioridades, ты это можешь делать посредством this.super .
, Поскольку он не имеет доступа, tendrГ-туз, который должен предохранять ее informaciГіn от Положения в VentanaPrioridades. (Но сделав это, не tendrГ - во многий почувствованный существование Положения)
ВїPor quГ© PosiciГіn sГ - имеет доступ? PosiciГіn увеличивает VentanaPrioridades. Поэтому у него есть все свойства и mГ©todos VentanaPrioridades.
ВїCГіmo перемещать ее VentanaPrioridades informaciГіn? Во время нее construcciГіn. Я описываю тебе Stack вызовов.
ты Можешь использовать возможность, чтобы перемещать переменные строителей. В этом случае Положение может перемещать surfer VentanaPosiciones посредством супер ().
В continuaciГіn оставил тебя cГіdigo я завершаю:
Положение
import java.awt.Color;
public class Posicion extends VentanaPrioridades {
private static final long serialVersionUID = 1L;
// Propiedades
protected Color color;
protected String nombreSurfer;
protected int posicion;
public Color getColor() {
return color;
}
public void setColor(Color color) {
this.color = color;
}
public String getNombreSurfer() {
return nombreSurfer;
}
public void setNombreSurfer(String nombreSurfer) {
this.nombreSurfer = nombreSurfer;
}
public int getPosicion() {
return posicion;
}
public void setPosicion(int posicion) {
this.posicion = posicion;
}
public Posicion(Color color, String nombreSurfer, int i) {
super(color, nombreSurfer, i);
this.color = color;
this.nombreSurfer = nombreSurfer;
this.posicion = -1;
}
}
Окно первенство
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
public class VentanaPrioridades extends JFrame {
/**
*
*/
protected Color color;
protected String nombreSurfers;
protected int posicion;
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new VentanaPrioridades();
}
});
}
public VentanaPrioridades(Color color, String nombreSurfers, int posicion) {
this.color = color;
this.nombreSurfers = nombreSurfers;
this.posicion = posicion;
crearJFrame();
}
public VentanaPrioridades() {
crearJFrame();
}
private void crearJFrame() {
JLabel lblSurfer1 = new JLabel(nombreSurfers);
}
}