java - tag - ¿Puedo tener un campo de texto dentro de una etiqueta?
texto de fondo en jtextfield (3)
Lo que me gustaría hacer es mostrar lo siguiente en una forma:
Open [15] minutes before class
Donde [15]
es un campo de texto. es posible?
Creo que no lo he entendido. Pero lo intentaré:
Puede obtener el texto de un TextField:
label.setText ("Abrir" + textField.getText () + "minutos antes de la clase");
Use un ''componente compuesto'' agregando las partes requeridas a un JPanel
. P.EJ
import java.awt.FlowLayout;
import javax.swing.*;
class TimeBeforeClass {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JPanel gui = new JPanel(new FlowLayout(FlowLayout.LEFT, 3,3));
gui.add(new JLabel("Open"));
gui.add(new JSpinner(new SpinnerNumberModel(15,0,20,1)));
gui.add(new JLabel("minutes before class"));
JOptionPane.showMessageDialog(null, gui);
}
});
}
}
Tenga en cuenta que cambié el ''campo de texto'' por un JSpinner
, un componente más adecuado para seleccionar ''tiempo en minutos''.
Can I have a textfield inside a label?
la respuesta es sí, puedes, esto es propiedad básica de Java
AWT / Swing
ObjectsJComboBox
,JTable
,JList
,JSpinner
,JFile(Color)Chooser
.... son componentesJComponents
compuestos, puede extraer todosJComponent
yJComponent
nuevo.puedes poner cualquiera de los
JComponents
en el otrosolo
JFrame/JDialog/JWindow
yJPanel
han implementadoLayoutManager
de forma predeterminada en la API, por lo demás, debe implementar el LayoutManager adecuado