我想要做的是在表单中显示以下内容:
Open [15] minutes before class
文本字段[15]
在哪里。 这可能吗?
我想要做的是在表单中显示以下内容:
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
一个更适合选择“以分钟为单位的时间”的组件。
Can I have a textfield inside a label?
答案是,可以,这是 JavaAWT / Swing
对象的基本属性
JComboBox
, JTable
, JList
, JSpinner
, JFile(Color)Chooser
.... 是复合的JComponents
,你可以把它们全部提取出来JComponent
再放在一起。
你可以把任何一个放到JComponents
另一个
仅在 API 中默认实现JFrame/JDialog/JWindow
,其余时间您必须实现正确的 LayoutManagerJPanel
LayoutManager
我想我还没有理解。但是,我会尝试:
您可以从 TextField 中获取文本:
label.setText("打开 " + textField.getText()+ " 上课前几分钟");