Componentes Swing

Componentes de la librería Swing

A continuación se listan distintos ejemplos de la implementación de algunos de los componentes de Swing más utilizados.

JTextField

Caja de texto básica, equivalente a input text en PHP.

  1. JTextField input;
  2. private void inputText(){
  3. input = new JTextField();
  4. input.setBounds(10,10,200,50);
  5. panel.add(input);
  6. }

JRadioButton

Radiobotón es una caja de marcado similar al JCheckBox pero que suele permitir una sola opción marcada, equivalente a input radio en PHP.

  1. JRadioButton radioH;
  2. JRadioButton radioM;
  3. private void inputRadio("H"){
  4. radioH = new JRadioButton();
  5. radioH.setBounds(10,10,200,50);
  6. radioH.setSelected(true);
  7. panel.add(radioH);
  8. radioM = new JRadioButton();
  9. radioM.setBounds(10,100,200,50);
  10. panel.add(radioM);
  11. }

Para poder elegir solo una opción es necesario añadirlo manualmente mediante ActionListener (como se realiza en el código siguiente) o mediante un grupo de botones (como se realiza en el código de ejemplo final del JMenu) permitiendo desactivar las opciones que pudieran encontrarse ya marcadas.

  1. JRadioButton radioH;
  2. JRadioButton radioM;
  3. private void inputRadio("H"){
  4. radioH = new JRadioButton();
  5. radioH.setBounds(10,10,200,50);
  6. radioH.setSelected(true);
  7. panel.add(radioH);
  8. radioM = new JRadioButton();
  9. radioM.setBounds(10,100,200,50);
  10. panel.add(radioM);
  11. radioH.addActionListener(new ActionListener() {
  12. public void actionPerformed(ActionEvent e) {
  13. if(radioH.isSelected())
  14. {
  15. radioM.setSelected(false);
  16. }
  17. }
  18. });
  19. radioM.addActionListener(new ActionListener() {
  20. public void actionPerformed(ActionEvent e)
  21. {
  22. if(radioM.isSelected())
  23. {
  24. radioH.setSelected(false);
  25. }
  26. }
  27. });
  28. }

También puede ser útil restringir la opción de desmarcar las opciones. Para ello es suficiente con añadir un else a los ActionListener, de esta forma se sigue mateniendo siempre marcada la opción seleccionada.

  1. radioH.addActionListener(new ActionListener() {
  2. public void actionPerformed(ActionEvent e) {
  3. if(radioH.isSelected())
  4. {
  5. radioM.setSelected(false);
  6. }else{
  7. radioH.setSelected(true);
  8. }
  9. }
  10. });
  11. radioM.addActionListener(new ActionListener() {
  12. public void actionPerformed(ActionEvent e)
  13. {
  14. if(radioM.isSelected())
  15. {
  16. radioH.setSelected(false);
  17. }else{
  18. radioM.isSelected(true);
  19. }
  20. }
  21. });
  22. }

JCheckBox

Cajas de marcado, equivalente a un input checkbox en PHP.

  1. private void checkBox()
  2. {
  3. caja1 = new JCheckBox("USB");
  4. caja1.setBounds(10,10,240,50);
  5. this.add(caja1);
  6. caja2 = new JCheckBox("TV LCD");
  7. caja2.setBounds(10,110,240,50);
  8. this.add(caja2);
  9. caja3 = new JCheckBox("Cepillo eléctrico");
  10. caja3.setBounds(10,210,240,50);
  11. this.add(caja3);
  12. }

JTextArea

Caja de texto con opción de scroll, equivalente a textarea en PHP.

  1. private void textArea()
  2. {
  3. JTextArea text = new JTextArea();
  4. text.setEditable(true);
  5. text.setBounds(10,10,620,360);
  6. this.add(text);
  7. //opción básica
  8. /*JScrollPane jsp = new JScrollPane(text);
  9. jsp.setBounds(10,10,620,360);
  10. jsp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  11. jsp.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
  12. this.add(jsp);*/
  13. //opción simplificada
  14. JScrollPane jsp = new JScrollPane(text, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  15. jsp.setBounds(10,10,620,360);
  16. this.add(jsp);
  17. JButton boton = new JButton("Coger el contenido");
  18. boton.setBounds(10,400,620,50);
  19. this.add(boton);
  20. boton.addActionListener(new ActionListener() {
  21. public void actionPerformed(ActionEvent e)
  22. {
  23. String s = "";
  24. s += text.getText();
  25. System.out.println(s);
  26. }
  27. });
  28. }

JComboBox

Menú desplegable , equivalente a un select en PHP

  1. public void comboBox()
  2. {
  3. String elementos[]={"USB","TV LCD","Cepillo eléctrico","Batidora","Exprimidor","Secador","Altavoces"};
  4. JComboBox combo = new JComboBox(elementos);
  5. combo.setBounds(10,10,620,50);
  6. this.add(combo);
  7. JButton boton = new JButton("Mostrar selección");
  8. boton.setBounds(10,100,300,50);
  9. this.add(boton);
  10. boton.addActionListener(new ActionListener() {
  11. public void actionPerformed(ActionEvent e)
  12. {
  13. System.out.println(combo.getSelectedItem());
  14. }
  15. });
  16. }

JPasswordField

Caja de texto oculto, equivalente a un input  hidden en PHP.

  1. public void passwordField()
  2. {
  3. JPasswordField pass = new JPasswordField();
  4. pass.setBounds(10, 10,620,50);
  5. this.add(pass);
  6. JButton boton= new JButton("Ver contenido del JComboBox");
  7. boton.setBounds(10,100,200,50);
  8. this.add(boton);
  9. boton.addActionListener(new ActionListener() {
  10. @Override
  11. public void actionPerformed(ActionEvent e)
  12. {
  13. System.out.println(pass.getPassword());
  14. }
  15. });
  16. }

JMenuBar

Barra de menú que permite incorporar elementos, normalmente menús desplegables, presente en la mayoría de programas, generalmente de forma fija y el parte superior de la ventana.

  1. JMenuBar menubar = new JMenuBar();
  2. this.setJMenuBar(menubar);

JMenu

Botón integrado en la barra de menú que permite desplegar un elemento o conjunto de elementos denominados items.

  1. JMenu menu = new JMenu("Menu");
  2. menubar.add(menu);

JMenuItem

Un item es uno de los elementos que componen un menú, similar a un botón, que permiten realizar una acción, normalmente una opción o función del programa.

  1. JMenuItem itemArchivo = new JMenuItem("Archivo");
  2. menu.add(itemArchivo);

A continuación un ejemplo de una barra de menú básica que contiene distintos tipos de items.

  1. package cartelera;
  2. import java.awt.Color;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import javax.swing.BoxLayout;
  6. import javax.swing.ButtonGroup;
  7. import javax.swing.JCheckBoxMenuItem;
  8. import javax.swing.JFrame;
  9. import javax.swing.JMenu;
  10. import javax.swing.JMenuBar;
  11. import javax.swing.JMenuItem;
  12. import javax.swing.JPanel;
  13. import javax.swing.JRadioButtonMenuItem;
  14. public class menu extends JFrame {
  15. private JPanel panel;
  16. private int size_x = 480, size_y = 640;
  17. public menu(){
  18. this.setTitle("Cartelera de cine");
  19. this.setSize(size_x,size_y);
  20. this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  21. initComponents();
  22. }
  23. public void initComponents(){
  24. //barra de menú
  25. JMenuBar menubar = new JMenuBar();
  26. this.setJMenuBar(menubar);
  27. //menu 1
  28. JMenu menu = new JMenu("Menu");
  29. menubar.add(menu);
  30. //item de menu 1
  31. JMenuItem itemArchivo = new JMenuItem("Archivo");
  32. menu.add(itemArchivo);
  33. //separador
  34. menu.addSeparator();
  35. //item de menu 1
  36. JMenuItem itemSalir = new JMenuItem("Salir");
  37. menu.add(itemSalir);
  38. itemSalir.addActionListener(new ActionListener(){
  39. @Override
  40. public void actionPerformed(ActionEvent e) {
  41. System.exit(0);
  42. }
  43. });
  44. //menu 2
  45. JMenu menu2 = new JMenu("Menú 2");
  46. //submenu
  47. JMenu submenu = new JMenu("Submenú");
  48. menu2.add(submenu);
  49. //items
  50. JMenuItem item = new JMenuItem("item1");
  51. JMenuItem item2 = new JMenuItem("item2");
  52. //check items
  53. JCheckBoxMenuItem item3 = new JCheckBoxMenuItem("item3-check");
  54. //radio items
  55. JRadioButtonMenuItem item4 = new JRadioButtonMenuItem("item4-radio");
  56. JRadioButtonMenuItem item5 = new JRadioButtonMenuItem("item5-radio");
  57. ButtonGroup grupo = new ButtonGroup();
  58. grupo.add(item4);
  59. grupo.add(item5);
  60. submenu.add(item);
  61. submenu.add(item2);
  62. submenu.add(item3);
  63. submenu.add(item4);
  64. //separador
  65. submenu.addSeparator();
  66. submenu.add(item5);
  67. menubar.add(menu2);
  68. //panel
  69. panel = new JPanel();
  70. panel.setBackground(Color.white);
  71. panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
  72. this.add(panel);
  73. }
  74. public static void main(String[] args) {
  75. menu c = new menu();
  76. c.setVisible(true);
  77. }
  78. }


Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso