我可以在标签内有文本框吗?
我想要做的是在表单中显示以下内容:
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 / Swing
Objects的基本属性 -
JComboBox
,JTable
,JList
,JSpinner
,JFile(Color)Chooser
….都是复合JComponents
,你可以提取所有的JComponent
并把它们放在一起。 -
你可以把任何
JComponents
到另一个 -
只有
JFrame/JDialog/JWindow
和JPanel
已经在API中默认实现了LayoutManager
, 剩下的则必须实现合适的LayoutManager
我想我还没有明白。 但是,我会尝试:
您可以从TextField获取文本:
label.setText(“Open”+ textField.getText()+“课前分钟”);