Могу ли я иметь текстовое поле внутри метки?

Я хотел бы показать следующее в форме:

Open [15] minutes before class 

Где [15]текстовое поле. Это возможно?

Используйте «составной компонент», добавив необходимые детали в JPanel . НАПРИМЕР

TimeBeforeClass

 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); } }); } } 

Обратите внимание, что я поменял «текстовое поле» на JSpinner – более подходящий компонент для выбора «время в минутах».

 Can I have a textfield inside a label? 
  • Ответ: да, вы можете, это основное свойство Java AWT / Swing Objects

  • JTable , JTable , JList , JSpinner , JFile(Color)Chooser …. являются составными JComponents , вы можете извлечь все JComponent и снова собрать их вместе.

  • вы можете поместить любой из JComponents в другой

  • только JFrame/JDialog/JWindow и JPanel реализовали LayoutManager по умолчанию в API, для остальной части вам необходимо реализовать собственный LayoutManager

Кажется, я не понял. Но я попытаюсь:

Вы можете получить текст из TextField:

label.setText («Открыть» + textField.getText () + «минуты до classа»);

Давайте будем гением компьютера.