import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JComboBox;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class GuiApp1 {
// Normalmente el metodo main esta en una clase separada, pero en este
// ejemplo como todo se encuentra en la misma clase no es necesario
public static void main(String[] args) {
new GuiApp1();
}
public GuiApp1()
{
JFrame guiFrame = new JFrame();
// Cuando cierra el frame, se cierra el programa
guiFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Definimos el titulo de la ventana
guiFrame.setTitle("Example GUI");
// Definimos el tamaño
guiFrame.setSize(300,250);
// Centramos el JFrame en el centro de la pantalla
guiFrame.setLocationRelativeTo(null);
// Valores para el JComboBox
String[] fruitOptions = {"Manzana", "Albaricoque", "Platano"
,"Fresa", "Kiwi", "Naranja", "Pera"};
// Valores para el JList
String[] vegOptions = {"Esparragos", "Frijoles", "Calabaza"
, "Zanahoria", "Apio", "Pepino", "Puerro"};
// El primer panel contiene un JLabel y un JCombobox con las frutas
final JPanel comboPanel = new JPanel();
JLabel comboLbl = new JLabel("Frutas:");
JComboBox fruits = new JComboBox(fruitOptions);
comboPanel.add(comboLbl);
comboPanel.add(fruits);
// El segundo panel contiene un JLabel y un JList
final JPanel listPanel = new JPanel();
// Marcamos este panel como invisible
listPanel.setVisible(false);
JLabel listLbl = new JLabel("Vegetales:");
JList vegs = new JList(vegOptions);
vegs.setLayoutOrientation(JList.HORIZONTAL_WRAP);
listPanel.add(listLbl);
listPanel.add(vegs);
JButton vegFruitBut = new JButton( "Fruit or Veg");
// Esta clase es utilizada para manejar los eventos que suceden cuando
// el usuario clica los botones
vegFruitBut.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent event)
{
// Cuando una fruta o vegetal es seleccionada, y se pulsa el
// boton, se cambia la visibilidad de los JPanel
listPanel.setVisible(!listPanel.isVisible());
comboPanel.setVisible(!comboPanel.isVisible());
}
});
// El JFrame utiliza el BorderLayout como gestor de capas.
// Poner los dos JPanels y JButton en diferentes areas
guiFrame.add(comboPanel, BorderLayout.NORTH);
guiFrame.add(listPanel, BorderLayout.CENTER);
guiFrame.add(vegFruitBut,BorderLayout.SOUTH);
// Asegurarse de mostrar el JFrame
guiFrame.setVisible(true);
}
}
Comentarios sobre la versión: Versión 1 (4)
[code]
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JComboBox;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
[/code]
por esto
[code]
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
[/code]
Sigue así compañero
tengo que realizar una ventana la cual contenga un JList, el cual contenga 5 paises. al elegir el pais tiene que pasar a un Jcombox donde esten 5 ciudades de ese pais, al elegir una ciudad pasa a un JSpinner que contenga 5 barrios de esa ciudad e imprimirlas. ME PODRIAS AYUDAR???