Ayuda Estoy haciendo una aplicacion en la cual agrego botones y etiquetas segun el tamaño de de una variable ....
Estoy haciendo una aplicacion en la cual agrego botones y etiquetas segun el tamaño de de una variable dimencional de cadena y me muestra los botonoes y los cuales me responden perfectamente y el mensaje de respuesta es correcto pero quiero modificar el color de las etiquetas segun las respuesta si es falso rojo si es verdadero verde y no se como acceder a las etiquetas que e creadto.
este es el codigo
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* Inicio.java
*
* Created on 16/03/2010, 01:14:54 PM
*/
package vpn2;
import java.awt.Button;
import java.awt.Color;
import java.awt.Font;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
/**
*
* @author SistemasII
*/
public class Inicio extends javax.swing.JFrame implements ActionListener {
public String tiendas []={
"Higalgo","Tellez","Aragon","Gerona","Los Angeles","Torrres Landa","Rio Mayo","Cueramaro","Montaña","Maria Dolores","Guanajuato",
"Coesillo","Aeropuerto","SEAP","Lagos Blvd","Satelite","Fco. Villa","Pensilvania","Boqueron","Reboceros","Lagos Centro","Rio Bravo",
"San Felipe","San Jose","Maguey","Aquiles","Medina","Joya","Castillos","San Juan","Villas de S.J","Puentesillas","Romita"};
public String ip []={
"200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215",
"216","217","218","219","220","221","222","223","224","225","226","227","228","229",
"230","231","232"
};
/** Creates new form Inicio */
public Inicio() {
initComponents();
muestraformulario();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jSeparator1 = new javax.swing.JSeparator();
jLabel2 = new javax.swing.JLabel();
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Aceros y Perfiles del Sol");
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 505, Short.MAX_VALUE)
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 244, Short.MAX_VALUE)
);
jLabel1.setFont(new java.awt.Font("Tahoma", 3, 36)); // NOI18N
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Conccion VPN");
jLabel2.setText("jLabel2");
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addContainerGap(19, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addContainerGap())
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Inicio().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JSeparator jSeparator1;
// End of variables declaration
public void ping(String direccion) throws UnknownHostException , IOException {
JButton b = new JButton(direccion);
for (int i = 0; i < tiendas.length; i++) {
if (tiendas[i].equals(direccion)){
InetAddress pi = InetAddress.getByName("192.168.0."+ip[i]);
if (pi.isReachable(4000)){
JOptionPane.showMessageDialog(rootPane, "Coneccion estableciada con "+tiendas[i], direccion, 1);
b.setForeground(Color.red);
}
else {
JOptionPane.showMessageDialog(rootPane, "No existe Coneccion con "+tiendas[i], direccion, 0);
}
}
}
}
public void muestraformulario(){
int n=0,m=0,ñ=0,o=87,c=1;
Font letra= new Font("Arial", 0, 11);
Font grueso=new Font("Arial", 4, 12);
for (int i = 0; i < tiendas.length; i++) {
JButton Boton = new JButton(tiendas[i]);
JLabel Etiqueta = new JLabel(ip[i],0);
jPanel2.add(Boton);
Boton.setFont(letra);
Boton.setVisible(true);
Boton.setSize(84,20);
Boton.setLocation(m,n);
Boton.setHorizontalAlignment(SwingConstants.LEFT);
Boton.setActionCommand(tiendas[i]);
Boton.addActionListener(this);
Boton.setMargin(new Insets(1, 1, 1, 1));
Boton.setName(tiendas[i]);
jPanel2.add(Etiqueta);
Etiqueta.setFont(grueso);
Etiqueta.setVisible(true);
Etiqueta.setSize(40, 20);
Etiqueta.setLocation(o,ñ);
Etiqueta.setHorizontalAlignment(SwingConstants.LEFT);
Etiqueta.setName(ip[i]);
if (c==10){
o=o+123;
m=m+123;
c=1;
n=0;
ñ=0;
}
else{
c++;
n=n+22;
ñ=ñ+22;
}
}
}
public void actionPerformed(ActionEvent e) {
try {
ping(e.getActionCommand());
} catch (UnknownHostException ex) {
Logger.getLogger(Inicio.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Inicio.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
- Inicie sesión o regístrese para enviar comentarios
En que momento quieres que
En que momento quieres que las etiquetas cambien de color, ¿si te responde el ping?.
Paco
Re: En que momento quieres que
si
Cual label es la que quieres
Cual label es la que quieres que cambie ¿la que dice jlabel2?
Etiqueta
La que quiero cambiar son las que se crean en la parte de "public void muestraformulario()" en las que asigno la direcion ip

Asi
Hice algunos cambios para que funcionara como lo quieres, por ejemplo hice una matriz de botones y etiquetas para poder identificar que boton o en este caso que etiqueta modificar, espero te sirva.
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* Inicio.java
*
* Created on 16/03/2010, 01:14:54 PM
*/
package vpn2;
import java.awt.Color;
import java.awt.Font;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
/**
*
* @author SistemasII
*/
public class Inicio extends javax.swing.JFrame implements ActionListener {
JButton[] Boton;
JLabel[] Etiqueta;
public String tiendas []={
"Higalgo","Tellez","Aragon","Gerona","Los Angeles","Torrres Landa","Rio Mayo","Cueramaro","Montaña","Maria Dolores","Guanajuato",
"Coesillo","Aeropuerto","SEAP","Lagos Blvd","Satelite","Fco. Villa","Pensilvania","Boqueron","Reboceros","Lagos Centro","Rio Bravo",
"San Felipe","San Jose","Maguey","Aquiles","Medina","Joya","Castillos","San Juan","Villas de S.J","Puentesillas","Romita"};
public String ip []={
"200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215",
"216","217","218","219","220","221","222","223","224","225","226","227","228","229",
"230","231","232"
};
/** Creates new form Inicio */
public Inicio() {
initComponents();
muestraformulario();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jSeparator1 = new javax.swing.JSeparator();
jLabel2 = new javax.swing.JLabel();
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Aceros y Perfiles del Sol");
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 505, Short.MAX_VALUE)
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 244, Short.MAX_VALUE)
);
jLabel1.setFont(new java.awt.Font("Tahoma", 3, 36)); // NOI18N
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Conexion VPN");
jLabel2.setText("jLabel2");
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addContainerGap(19, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addContainerGap())
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Inicio().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JSeparator jSeparator1;
// End of variables declaration
public void ping(String direccion) throws UnknownHostException , IOException {
JButton b = new JButton(direccion);
for (int i = 0; i < tiendas.length; i++) {
if (tiendas[i].equals(direccion)){
InetAddress pi = InetAddress.getByName("192.168.1."+ip[i]);
if (pi.isReachable(4000)){
JOptionPane.showMessageDialog(rootPane, "Conexion estableciada con "+tiendas[i], direccion, 1);
b.setForeground(Color.red);
cambiarLabel(i, 1);
}
else {
JOptionPane.showMessageDialog(rootPane, "No existe Conexion con "+tiendas[i], direccion, 0);
cambiarLabel(i, 2);
}
}
}
}
public void cambiarLabel(int i, int c)//i: indice //c: 1-verde 2-rojo
{
if(i >= 0 && i < tiendas.length && c == 1)
{
Etiqueta[i].setForeground(Color.green);
}
if(i >= 0 && i < tiendas.length && c == 2)
{
Etiqueta[i].setForeground(Color.red);
}
}
public void muestraformulario(){
Boton = new JButton[tiendas.length];
Etiqueta = new JLabel[tiendas.length];
int n=0,m=0,ñ=0,o=87,c=1;
Font letra= new Font("Arial", 0, 11);
Font grueso=new Font("Arial", 4, 12);
for (int i = 0; i < tiendas.length; i++)
{
Boton[i] = new JButton(tiendas[i]);
Etiqueta[i] = new JLabel(ip[i],0);
jPanel2.add(Boton[i]);
Boton[i].setFont(letra);
Boton[i].setVisible(true);
Boton[i].setSize(84,20);
Boton[i].setLocation(m,n);
Boton[i].setHorizontalAlignment(SwingConstants.LEFT);
Boton[i].setActionCommand(tiendas[i]);
Boton[i].addActionListener(this);
Boton[i].setMargin(new Insets(1, 1, 1, 1));
Boton[i].setName(tiendas[i]);
jPanel2.add(Etiqueta[i]);
Etiqueta[i].setFont(grueso);
Etiqueta[i].setVisible(true);
Etiqueta[i].setSize(40, 20);
Etiqueta[i].setLocation(o,ñ);
Etiqueta[i].setHorizontalAlignment(SwingConstants.LEFT);
Etiqueta[i].setName(ip[i]);
if (c==10){
o=o+123;
m=m+123;
c=1;
n=0;
ñ=0;
}
else{
c++;
n=n+22;
ñ=ñ+22;
}
}
}
public void actionPerformed(ActionEvent e) {
try {
ping(e.getActionCommand());
} catch (UnknownHostException ex) {
Logger.getLogger(Inicio.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Inicio.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Paco
ñ ?
De verdad puedes tener una variable ñ? y por qué querrías hacer algo tan confuso? Para muchos el primer impulso sería cambiarlo por una n pensando que es un error tipográfico... no sabía que podías tener variables que empezaran con un caracter Unicode...
Muchas gracias
Eso es lo que buscava muchisimas gracias fue exelente la ayuda