我正在尝试创建一个自定义计时器,该计时器将记录以天为单位的累积时间流逝。我有一个自定义的 JPanel,它可以为我完成所有的计时器工作。我想与这个 JPanel 有一个 GUI 交互,代表 7 次。但是,当我向 JPanel 或 JFrame 添加多个自定义 JPanel 时,它们不会出现。我已经尝试设置布局并将它们设置为我能想到的所有内容,但没有任何效果。
这是面板的基本设置:
public class TimerPane extends JPanel{
private static JButton button = new JButton("Start");
private static JLabel label = new JLabel("Time elapsed:");
private static JLabel tLabel = new JLabel("0:0:0");
private static JLabel title = new JLabel("Timer");
public TimerPane(){
button.addActionListener(new ButtonListener());
this.add(title);
this.add(label);
this.add(tLabel);
this.add(button);
this.setOpaque(false);
this.setPreferredSize(new Dimension(100,100));
this.setMaximumSize(new Dimension(100,100));
}
}
这是我最近一次尝试让 JPanel 显示多次(这里只有两次):
public static void main(String[] args){
JFrame frame = new JFrame("Timer");
JPanel panel = new JPanel();
frame.setPreferredSize(new Dimension(700,110));
panel.setLayout(new BorderLayout());
panel.add(new TimerPane(), BorderLayout.EAST);
panel.add(new TimerPane(), BorderLayout.WEST);
frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
在此之后执行的 GUI 是 700x110,其中只有最左侧的 100x100 正好用于我的 TimerPane 面板之一。我也在相同的代码上尝试了 GridLayout,但是只有第二个“点”中的 TimerPane 出现。有什么建议么?