Continuo practicando ejercicios que encuentro, creo que la mejor forma de aprender una lengua es no parar de practicar y al fin y al cabo un lenguaje de programación no deja de ser una lengua.
En el siguiente ejemplo vamos a realizar un marco, insertarle laminas y hacerlo funcionar
todo dentro de una sola clase, esto es poco recomendable porque nuestro programa perderá modulararidad.
Deseamos poner en la parte superior un JTextArea y en la parte inferior dos botones uno copia un texto en nuestra área de texto y el otro poner y quita el salto línea en JTextArea.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.*;
import javax.swing.*;
public class practica2 {
public static void main (String [] arg) {
Marco1 marco = new Marco1();
marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
marco.setTitle("practica layouts");
marco.setVisible(true);
}
}
class Marco1 extends JFrame{
public Marco1() {
setBounds(400,100,500,350);
//establecemos el layout en el marco en
lugar de la lámina
así dividimos
el marco en espacios diferenciados y luego añadiremos
las láminas a los diferentes espacios
setLayout(new BorderLayout());
Lamina_Botones = new JPanel();
Lamina_texto = new JPanel();
Area_texto = new JTextArea("",10,10);
Area_texto.setBorder(BorderFactory.createLineBorder(Color.darkGray,3));
sistema_Scroll = new JScrollPane(Area_texto);
insertar = new JButton("INSERTAR");
SaltoLinea = new JButton ("SALTO DE LÍNEA");
//ponemos
a la escucha los botones
insertar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
/*el método
append(String) agreaga un texto al final del
JTextArea*/
Area_texto.append("Texto preescrito al pulsar
el boton insertar");
}
});
SaltoLinea.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
boolean saltar =! Area_texto.getLineWrap();
Area_texto.setLineWrap(saltar);
if (saltar) {/*tue*/
SaltoLinea.setText("Quitar Alsto Linea");
}else {
SaltoLinea.setText("SALTO DE LÍNEA");
}
}
});
Lamina_Botones.add(SaltoLinea);
Lamina_Botones.add(insertar);
add(Lamina_Botones,BorderLayout.SOUTH);
add(sistema_Scroll,BorderLayout.NORTH);
}
private JPanel Lamina_Botones,Lamina_texto;
private JButton insertar,SaltoLinea;
private JTextArea Area_texto;
private JScrollPane sistema_Scroll;
}
Aquí os resumo los diferentes objetos que podemos introducir dentro de un marco de java.
No hay comentarios:
Publicar un comentario