2

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

Open [15] minutes before class

文本字段[15]在哪里。 这可能吗?

4

3 回答 3

9

通过将所需部分添加到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一个更适合选择“以分钟为单位的时间”的组件。

于 2012-04-05T02:09:00.970 回答
2
Can I have a textfield inside a label?
  • 答案是,可以,这是 JavaAWT / Swing对象的基本属性

  • JComboBox, JTable, JList, JSpinner, JFile(Color)Chooser.... 是复合的JComponents,你可以把它们全部提取出来JComponent再放在一起。

  • 你可以把任何一个放到JComponents另一个

  • 仅在 API 中默认实现JFrame/JDialog/JWindow其余时间您必须实现正确的 LayoutManagerJPanelLayoutManager

于 2012-04-05T05:51:54.290 回答
1

我想我还没有理解。但是,我会尝试:

您可以从 TextField 中获取文本:

label.setText("打开 " + textField.getText()+ " 上课前几分钟");

于 2012-04-05T01:58:03.127 回答