Java BorderLayout-只有两个组件中的一个显示在SOUTH中
我试图在底部显示2个滑块,但它只显示第二个滑块,而不显示第一个滑块。我怎样才能纠正它Java BorderLayout-只有两个组件中的一个显示在SOUTH中,java,swing,layout-manager,border-layout,Java,Swing,Layout Manager,Border Layout,我试图在底部显示2个滑块,但它只显示第二个滑块,而不显示第一个滑块。我怎样才能纠正它 package applets; import java.awt.*; import javax.swing.*; import javax.swing.event.*; public class TheFrame extends JFrame{ private JSlider slider1,slider2; private DrawOval myPanel; TheFrame(){ super("T
package applets;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
public class TheFrame extends JFrame{
private JSlider slider1,slider2;
private DrawOval myPanel;
TheFrame(){
super("The Oval");
myPanel = new DrawOval();
myPanel.setBackground(Color.RED);
slider1 = new JSlider(SwingConstants.HORIZONTAL,0,200,10);
slider2 = new JSlider(SwingConstants.HORIZONTAL,0,120,6);
slider1.setMajorTickSpacing(10);
slider1.setPaintTicks(true);
slider1.setPaintLabels(true);
slider2.setLabelTable(slider1.createStandardLabels(10));
slider2.setMajorTickSpacing(6);
slider2.setPaintTicks(true);
slider2.setPaintLabels(true);
slider2.setLabelTable(slider2.createStandardLabels(6));
slider1.addChangeListener(
new ChangeListener(){
public void stateChanged(ChangeEvent e){
myPanel.SetD1(slider1.getValue());
}
}
);
slider2.addChangeListener(
new ChangeListener(){
public void stateChanged(ChangeEvent e){
myPanel.SetD2(slider2.getValue());
}
}
);
add(slider1,BorderLayout.SOUTH);
add(slider2,BorderLayout.SOUTH);
add(myPanel,BorderLayout.CENTER);
}
}
或选择任何其他包含滑块的容器
或者选择任何其他包含滑块的容器您试图将滑块显示在彼此的顶部;尝试将第一个添加到
BorderLayout.NORTH
或其他位置。如果要在南部将它们相邻显示,可以使用
JPanel panel = new JPanel(new GridLayout(2, 1));
panel.add(slider1);
panel.add(slider2);
add(panel);
或另一个容器。您试图将滑块显示在彼此的顶部;尝试将第一个添加到
BorderLayout.NORTH
或其他位置。如果要在南部将它们相邻显示,可以使用
JPanel panel = new JPanel(new GridLayout(2, 1));
panel.add(slider1);
panel.add(slider2);
add(panel);
或另一个容器。您需要添加另一个布局,如
行布局
到边界布局
的南部
部分,然后将滑块添加到行布局
您需要添加另一个布局,类似于行布局
到边界布局
的南部
部分,然后将滑块添加到行布局