- 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 una JToolBar con cuatro botones: "Nuevo", "Abrir", "Guardar", y "Salir". Al hacer clic en cada botón, debe mostrarse un mensaje correspondiente en un área de texto principal de la aplicación.
package jtoolbar;
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Arrays;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JToolBar;
public class Ejercicio1 {
public static void main(String[] args) {
MarcoBarra miMarco = new MarcoBarra();
miMarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
miMarco.setVisible(true);
}
}
class MarcoBarra extends JFrame {
public MarcoBarra() {
setBounds(0, 0, 500, 500);
setTitle("Barra de herramientas");
setResizable(false);
setLocationRelativeTo(null);
LaminaBarra miLamina = new LaminaBarra();
add(miLamina);
}
}
class LaminaBarra extends JPanel {
public LaminaBarra() {
// Configuración del layout principal de la lamina
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
// Creación de la barra de herramientas
JToolBar barra = new JToolBar();
JPanel panelBotones = new JPanel();
// Configuración del layout para los botones
panelBotones.setLayout(new BoxLayout(panelBotones, BoxLayout.X_AXIS));
// Creación de los botones
JButton nuevo = new JButton("Nuevo");
JButton abrir = new JButton("Abrir");
JButton guardar = new JButton("Guardar");
JButton salir = new JButton("Salir");
// Añadiendo los botones al panel
panelBotones.add(nuevo);
panelBotones.add(abrir);
panelBotones.add(guardar);
panelBotones.add(salir);
// Lista de botones para asignar ActionListener
ArrayList<JButton> listaBotones = new ArrayList<JButton>(Arrays.asList(nuevo, abrir, guardar, salir));
// Creación del área de texto
JTextArea areaTexto = new JTextArea(10, 10);
areaTexto.setFont(new Font(Font.SERIF, Font.BOLD, 22));
// Añadiendo ActionListener a cada botón
for (JButton boton : listaBotones) {
panelBotones.add(boton);
boton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String nombreBoton = boton.getText();
mensaje(nombreBoton, areaTexto); // Llamada al método mensaje
}
});
}
// Añadiendo la barra de herramientas y el área de texto a la lamina
barra.add(panelBotones);
add(barra);
add(areaTexto);
}
// Método para mostrar un mensaje en el área de texto
private void mensaje(String boton, JTextArea area) {
area.setText("El botón pulsado es " + boton);
}
}