- 1. Clase Graphics
- 2. JButton y JLabel
- 3. JTextField
- 4. BorderLayout
- 5. JCheckBox
- 6. JRadioButton
- 7. JComboBox
- 8. JSlider
- 9. JSpinner
- 10. JToggleButton
- 11. JSeparator
- 12. JDialog
- 13. JProgressBar
- 14. JFormateddTextField
- 15. JEditorPane
- 16. JSplitPane
- 17. JTabbedPane
- 18. JDesktopPane
- 19. JToolBar
- 20. JMenubar
- 21. JTable
- 22. JTree
- 23. JFileChooser
Ejercicio 1
Crea una aplicación de Java Swing que tenga un JSplitPane con una lista de nombres en el panel izquierdo y un área de texto en el panel derecho. Cuando se selecciona un nombre en la lista, debe mostrarse en el área de texto.
package jsplitpane;
import java.awt.BorderLayout;
import java.util.ArrayList;
import java.util.Arrays;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import javax.swing.JList;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.DefaultListModel;
public class Ejercicio1 {
public static void main(String[] args) {
// Crear y configurar el marco principal de la aplicación
MarcoSplit miMarco = new MarcoSplit();
miMarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
miMarco.setVisible(true);
}
}
class MarcoSplit extends JFrame {
public MarcoSplit() {
// Configurar propiedades del marco
setBounds(0, 0, 500, 500);
setTitle("Split");
setResizable(false);
setLocationRelativeTo(null);
// Crear y añadir la lámina principal
LaminaSplit miLamina = new LaminaSplit();
add(miLamina);
}
}
class LaminaSplit extends JPanel {
public LaminaSplit() {
// Crear el panel principal
JPanel principal = new JPanel();
// Crear y poblar la lista de nombres
ArrayList<String> listaNombres = new ArrayList<>(Arrays.asList("Carlos", "Maria", "Elena", "Pepito"));
DefaultListModel<String> listModel = new DefaultListModel<>();
for (String nombre : listaNombres) {
listModel.addElement(nombre);
}
// Crear la JList con los nombres y añadirla a un JScrollPane
JList<String> lista = new JList<>(listModel);
JScrollPane listaScroll = new JScrollPane(lista);
// Crear el área de texto y añadirla a un JScrollPane
JTextArea areaTexto = new JTextArea();
JScrollPane areaTextoScroll = new JScrollPane(areaTexto);
// Crear y configurar el JSplitPane
JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, listaScroll, areaTextoScroll);
split.setDividerLocation(150);
// Añadir un listener para actualizar el área de texto cuando se selecciona un nombre en la lista
lista.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent event) {
String selectedName = lista.getSelectedValue();
areaTexto.setText(selectedName);
}
});
// Establecer el layout y añadir el JSplitPane al panel principal
setLayout(new java.awt.BorderLayout());
add(split,BorderLayout.CENTER);
}
}