Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] WindowBuilder. Problema de visualización

Estas en el tema de WindowBuilder. Problema de visualización en el foro de Java en Foros del Web. Hola! Lo primero que llevo tan solo un mes con Java, soy nuevo en este lenguaje. Estaba curioseando con WindowBuilder en Eclipse Luna para hacer ...
  #1 (permalink)  
Antiguo 01/05/2015, 17:55
inazense
Invitado
 
Mensajes: n/a
Puntos:
Pregunta WindowBuilder. Problema de visualización

Hola! Lo primero que llevo tan solo un mes con Java, soy nuevo en este lenguaje.

Estaba curioseando con WindowBuilder en Eclipse Luna para hacer interfaces gráficas, y me ha surgido un problema que no sé como resolver.

El problema es el siguiente. He creado una GUI para una calculadora, con un TextField en la parte superior y botones (sus funcionalidades aún no están programadas), y a la hora de ejecutarlo la consola de Java me muestra el programa en la esquina superior izquierda, y minimizada, es decir, solo veo los botones de minimizar, maximizar y cerrar, aunque si agrando la pantalla sí veo la calculadora completa.

¿Como puedo hacer para que se vea la calculadora completa al iniciar el programa, y para que se muestre centrada? Bueno, para centrada sé que es con setLocationRelativeTo(null), pero en el código que me genera no tengo muy claro donde insertarlo.

El código es el siguiente:

Código Java:
Ver original
  1. package ocho;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.EventQueue;
  5.  
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9. import javax.swing.JTextField;
  10. import javax.swing.JButton;
  11. import org.eclipse.wb.swing.FocusTraversalOnArray;
  12. import java.awt.Component;
  13. import java.awt.Window.Type;
  14.  
  15. public class Interface extends JFrame {
  16.  
  17.     private JPanel contentPane;
  18.     private JTextField pantalla;
  19.  
  20.     /**
  21.      * Launch the application.
  22.      */
  23.     public static void main(String[] args) {
  24.         EventQueue.invokeLater(new Runnable() {
  25.             public void run() {
  26.                 try {
  27.                     Interface frame = new Interface();
  28.                     frame.setVisible(true);
  29.                 } catch (Exception e) {
  30.                     e.printStackTrace();
  31.                 }
  32.             }
  33.         });
  34.     }
  35.  
  36.     /**
  37.      * Create the frame.
  38.      */
  39.     public Interface() {
  40.         setTitle("Calculadora");
  41.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  42.         getContentPane().setLayout(null);
  43.         pantalla = new JTextField();
  44.         pantalla.setBounds(10, 11, 373, 20);
  45.         getContentPane().add(pantalla);
  46.         pantalla.setColumns(10);
  47.        
  48.         JButton mPlus = new JButton("M+");
  49.         mPlus.setBounds(10, 42, 69, 31);
  50.         getContentPane().add(mPlus);
  51.        
  52.         JButton mLess = new JButton("M-");
  53.         mLess.setBounds(86, 42, 69, 31);
  54.         getContentPane().add(mLess);
  55.        
  56.         JButton mrc = new JButton("MRC");
  57.         mrc.setBounds(162, 42, 69, 31);
  58.         getContentPane().add(mrc);
  59.        
  60.         JButton mc = new JButton("MC");
  61.         mc.setBounds(238, 42, 69, 31);
  62.         getContentPane().add(mc);
  63.        
  64.         JButton siete = new JButton("7");
  65.         siete.setBounds(10, 84, 69, 31);
  66.         getContentPane().add(siete);
  67.        
  68.         JButton ocho = new JButton("8");
  69.         ocho.setBounds(86, 84, 69, 31);
  70.         getContentPane().add(ocho);
  71.        
  72.         JButton nueve = new JButton("9");
  73.         nueve.setBounds(162, 84, 69, 31);
  74.         getContentPane().add(nueve);
  75.        
  76.         JButton divi = new JButton("/");
  77.         divi.setBounds(238, 84, 69, 31);
  78.         getContentPane().add(divi);
  79.        
  80.         JButton cuatro = new JButton("4");
  81.         cuatro.setBounds(10, 126, 69, 31);
  82.         getContentPane().add(cuatro);
  83.        
  84.         JButton cinco = new JButton("5");
  85.         cinco.setBounds(86, 126, 69, 31);
  86.         getContentPane().add(cinco);
  87.        
  88.         JButton seis = new JButton("6");
  89.         seis.setBounds(162, 126, 69, 31);
  90.         getContentPane().add(seis);
  91.        
  92.         JButton multi = new JButton("x");
  93.         multi.setBounds(238, 126, 69, 31);
  94.         getContentPane().add(multi);
  95.        
  96.         JButton uno = new JButton("1");
  97.         uno.setBounds(10, 168, 69, 31);
  98.         getContentPane().add(uno);
  99.        
  100.         JButton dos = new JButton("2");
  101.         dos.setBounds(86, 168, 69, 31);
  102.         getContentPane().add(dos);
  103.        
  104.         JButton tres = new JButton("3");
  105.         tres.setBounds(162, 168, 69, 31);
  106.         getContentPane().add(tres);
  107.        
  108.         JButton resta = new JButton("-");
  109.         resta.setBounds(238, 168, 69, 31);
  110.         getContentPane().add(resta);
  111.        
  112.         JButton cero = new JButton("0");
  113.         cero.setBounds(10, 205, 145, 31);
  114.         getContentPane().add(cero);
  115.        
  116.         JButton punto = new JButton(".");
  117.         punto.setBounds(162, 205, 69, 31);
  118.         getContentPane().add(punto);
  119.        
  120.         JButton suma = new JButton("+");
  121.         suma.setBounds(238, 205, 69, 31);
  122.         getContentPane().add(suma);
  123.        
  124.         JButton igual = new JButton("=");
  125.         igual.setBounds(314, 126, 69, 110);
  126.         getContentPane().add(igual);
  127.        
  128.         JButton porcentaje = new JButton("%");
  129.         porcentaje.setBounds(314, 84, 69, 31);
  130.         getContentPane().add(porcentaje);
  131.        
  132.         JButton c = new JButton("C");
  133.         c.setBounds(314, 42, 69, 31);
  134.         getContentPane().add(c);
  135.         setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{getContentPane(), pantalla, mPlus, mLess, mrc, mc, c, siete, ocho, nueve, divi, porcentaje, cuatro, cinco, seis, multi, uno, dos, tres, resta, cero, punto, suma, igual}));
  136.     }
  137. }

¿Me podéis guiar sobre como hacerlo con WindowBuilder? Gracias :)
  #2 (permalink)  
Antiguo 01/05/2015, 18:09
inazense
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: WindowBuilder. Problema de visualización

Vale, solucionado yo mismo.

Simplemente añadí

Código Java:
Ver original
  1. frame.setLocationRelativeTo(null);
en el main (como no me dí cuenta???? y

Código Java:
Ver original
  1. setMinimumSize(new Dimension(411, 288));

en el constructor. Tendría que haber esperado menos para preguntar jaja

Etiquetas: eclipse, interfaz
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:44.