我想要做的是在表单中显示以下内容:
Open [15] minutes before class
其中[15]
是文字字段。这可能吗?
答案 0 :(得分:9)
使用'复合组件'将所需的部分添加到JPanel
。 E.G。
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
对象
JComboBox
,JTable
,JList
,JSpinner
,JFile(Color)Chooser
....是复合JComponents
,您可以提取所有JComponent
并将它们重新组合在一起。
您可以将JComponents
中的任何一个放入另一个
默认情况下,只有JFrame/JDialog/JWindow
和JPanel
已在for rest of then you have to implements proper LayoutManager
LayoutManager
答案 2 :(得分:1)
我想我还没明白。但是,我会尝试:
您可以从TextField获取文本:
label.setText(“打开”+ textField.getText()+“课前”分钟“);