【发布时间】:2020-01-03 16:18:19
【问题描述】:
我目前正在开发用于 java 的媒体播放器,并且借助 VLCJ 的强大功能,我正在实现均衡器调整窗口。将有 11 个垂直滑块,下方有一个 JLabel,指示 hZ 频段和频段的 dB 级别。但是,滑块不断在其自身和 JLabel 之间增加一个巨大的差距。我尝试将两个 JLabel 堆叠在一起,几乎没有间隙。我的代码如下。 (返回均衡器的东西还没有实现。在我开始添加功能之前,我只想要一个基本的 UI 工作)
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import uk.co.caprica.vlcj.player.Equalizer;
public class VideoEQFrame {
public VideoEQFrame() {
//constructor
}
public Equalizer show() {
JFrame frame = new JFrame("Effects");
JPanel panel = new JPanel();
JPanel sliders= new JPanel();
JPanel gainObjects = new JPanel(new GridLayout(2, 0, 2, 0));
JSlider gainS = new JSlider(JSlider.VERTICAL, -12, 12, 0);
gainS.setMajorTickSpacing(2);
gainS.setPaintTicks(true);
gainS.setToolTipText("Adjust the gain");
JLabel gainL = new JLabel("Text");
gainObjects.add(gainS);
gainObjects.add(gainL);
sliders.add(gainObjects);
panel.add(sliders);
frame.add(panel);
frame.setSize(new Dimension(600, 300));
//frame.setResizable(false);
frame.setVisible(true);
Equalizer eq = new Equalizer(0);
return eq;
}
}
【问题讨论】:
标签: java swing jpanel jlabel jslider