我可以在标签内有文本框吗?
我想要做的是在表单中显示以下内容:
Open [15] minutes before class
其中[15]是一个文本字段。 这可能吗?
通过将所需的部分添加到JPanel来使用“复合组件”。 例如

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 ,这是一个更适合于select“分钟时间”的组件。
Can I have a textfield inside a label?
-
答案是,是的,你可以,这是Java
AWT / SwingObjects的基本属性 -
JComboBox,JTable,JList,JSpinner,JFile(Color)Chooser….都是复合JComponents,你可以提取所有的JComponent并把它们放在一起。 -
你可以把任何
JComponents到另一个 -
只有
JFrame/JDialog/JWindow和JPanel已经在API中默认实现了LayoutManager, 剩下的则必须实现合适的LayoutManager
我想我还没有明白。 但是,我会尝试:
您可以从TextField获取文本:
label.setText(“Open”+ textField.getText()+“课前分钟”);