realizan que ejemplos botones acciones java swing jframe jbutton

que - jtextfield en java



Cómo colocar un JButton en una ubicación deseada en un JFrame usando Java (6)

Quiero poner un Jbutton en una coordenada particular en un JFrame. Puse setBounds para el JPanel (que coloqué en el JFrame) y también setBounds para el JButton. Sin embargo, no parecen funcionar como se esperaba.

Mi salida:

texto alt http://i49.tinypic.com/2d8kuah.jpg

Este es mi código:

import java.awt.Color; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class Control extends JFrame { // JPanel JPanel pnlButton = new JPanel(); // Buttons JButton btnAddFlight = new JButton("Add Flight"); public Control() { // FlightInfo setbounds btnAddFlight.setBounds(60, 400, 220, 30); // JPanel bounds pnlButton.setBounds(800, 800, 200, 100); // Adding to JFrame pnlButton.add(btnAddFlight); add(pnlButton); // JFrame properties setSize(400, 400); setBackground(Color.BLACK); setTitle("Air Traffic Control"); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { new Control(); } }

¿Cómo se puede colocar el JButton en la coordenada (0, 0)?


Definir en alguna parte los consts:

private static final int BUTTON_LOCATION_X = 300; // location x private static final int BUTTON_LOCATION_Y = 50; // location y private static final int BUTTON_SIZE_X = 140; // size height private static final int BUTTON_SIZE_Y = 50; // size width

y luego a continuación:

JButton startButton = new JButton("Click Me To Start!"); // startButton.setBounds(300, 50,140, 50 ); startButton.setBounds(BUTTON_LOCATION_X , BUTTON_LOCATION_Y, BUTTON_SIZE_X, BUTTON_SIZE_Y ); contentPane.add(startButton);

donde contentPane es el objeto Container que contiene todo el marco:

JFrame frame = new JFrame("Some name goes here"); Container contentPane = frame.getContentPane();

Espero que esto ayude, funciona muy bien para mí ...


Lo he descubierto lol. para el botón do .setBounds (0, 0, 220, 30) El diseño de .setBounds es así (int x, int y, int width, int height)


Primero debe configurar el diseño mediante la sintaxis pnlButton.setLayout() , y luego elegir el diseño más adecuado que desee. Ej: pnlButton.setLayout(new FlowLayout(FlowLayout.LEADING, 5, 5)); . Y luego, toma ese JButton en JPanel.


Primero, recuerde la altura y el ancho del tamaño de su JPanel, luego observe: las coordenadas JButton son (xo, yo, x longitud, y y longitud). Si su ventana es 800x600, solo necesita escribir:

JButton.setBounds(0, 500, 100, 100);

Solo necesita usar un espacio de coordenadas para representar el botón y saber dónde termina la ventana y dónde comienza la ventana.


Se debe llamar a la siguiente línea antes de agregar su componente

pnlButton.setLayout(null);

Arriba se configurará su panel de contenido para utilizar diseño absoluto. Esto significa que siempre tendrá que establecer los límites de su componente explícitamente mediante el método setBounds .

En general no recomendaría el uso de diseño absoluto.


Use child.setLocation(0, 0) en el botón y parent.setLayout(null) . En lugar de usar setBounds (...) en el JFrame para dimensionarlo, considere usar solo setSize(...) y dejar que el sistema operativo posicione el marco.

//JPanel JPanel pnlButton = new JPanel(); //Buttons JButton btnAddFlight = new JButton("Add Flight"); public Control() { //JFrame layout this.setLayout(null); //JPanel layout pnlButton.setLayout(null); //Adding to JFrame pnlButton.add(btnAddFlight); add(pnlButton); // postioning pnlButton.setLocation(0,0);