我可以在标签内放置文本字段吗?

时间:2012-04-05 01:39:49

标签: java swing textfield jlabel jtextfield

我想要做的是在表单中显示以下内容:

Open [15] minutes before class

其中[15]文字字段。这可能吗?

3 个答案:

答案 0 :(得分:9)

使用'复合组件'将所需的部分添加到JPanel。 E.G。

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

请注意,我更换了' textfield'对于JSpinner - 一个更合适的组件,用于在几分钟内选择'。

答案 1 :(得分:2)

Can I have a textfield inside a label?
  • 回答是,是的,你可以,这是Java的基本属性AWT / Swing对象

  • JComboBoxJTableJListJSpinnerJFile(Color)Chooser ....是复合JComponents,您可以提取所有JComponent并将它们重新组合在一起。

  • 您可以将JComponents中的任何一个放入另一个

  • 默认情况下,只有JFrame/JDialog/JWindowJPanel已在for rest of then you have to implements proper LayoutManager

  • 中实施LayoutManager

答案 2 :(得分:1)

我想我还没明白。但是,我会尝试:

您可以从TextField获取文本:

label.setText(“打开”+ textField.getText()+“课前”分钟“);