gpt4 book ai didi

java - 尝试将 2 (JLabel, JSlider) 添加到具有 BorderLayout 的面板,仅绘制 JSlider

转载 作者:太空宇宙 更新时间:2023-11-04 11:35:49 26 4
gpt4 key购买 nike

我已从使用 JFrame 的项目中复制代码以显示文本字段和 JSlider

我的新项目使用了JInternalFrame,并且只绘制了 slider 。如果我注释掉代码,它将绘制文本字段,似乎它只会绘制 1 个控件。

代码

    JPanel containerPanel = new JPanel(new BorderLayout() );
cDrawComponent mDrawComponent = new cDrawComponent();
containerPanel.add(mDrawComponent,BorderLayout.CENTER);
JLabel mJLabel=new JLabel("000");
mJSlider = new JSlider(JSlider.HORIZONTAL, 0, 1000,500);
JPanel sliderPanel = new JPanel(new BorderLayout() );

//尝试添加 2 个组件,但仅显示 slider sliderPanel.add(mJLabel); sliderPanel.add(mJSlider); containerPanel.add(sliderPanel,BorderLayout.SOUTH);

    class SliderListener implements ChangeListener {
public void stateChanged(ChangeEvent e) {
JSlider source = (JSlider) e.getSource();
ted++;
if (!source.getValueIsAdjusting()) {
{
sliderPes = (int) source.getValue();
int max=source.getMaximum();
scrollPes=max-sliderPes;
repaint();
}
}
}
}
mJSlider.addChangeListener(new SliderListener());
add(containerPanel);

最佳答案

使用

sliderPanel.add(mJLabel, BorderLayout.WEST);

BorderLayout 只能在中心显示一个组件(如果省略,则默认)。这通常是最后添加的。

关于java - 尝试将 2 (JLabel, JSlider) 添加到具有 BorderLayout 的面板,仅绘制 JSlider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43299714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com