【问题标题】:Setting my component in specified place将我的组件设置在指定位置
【发布时间】:2013-12-06 13:28:21
【问题描述】:

我想要做的是将我的组件靠近我的应用程序的右侧。第二种选择是将其放在指定的 x,y 坐标中。但是我尝试了setBounds()setLocation()add(component, BorderLayout.LINE_END) 函数。没有什么对我有用。我的代码有什么问题?

public class MapaSwiata extends JPanel implements ActionListener {

    private BufferedImage mapa;
    private File imageFile;

    public MapaSwiata(){
        super();

        imageFile = new File("C:\\Users\\Katie\\Documents\\Eclipse\\Samolot\\src\\Pics\\img_mapa.jpg");

        try {
            mapa = ImageIO.read(imageFile);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        JOutlookBar outlookBar = new JOutlookBar();

        outlookBar.addBar( "Pogoda", getDummyPanel("One"));
        outlookBar.addBar( "Informacje o locie", getDummyPanel("Two" ));
        outlookBar.addBar( "Rozkład Lotow", getDummyPanel( "Three" ) );
        outlookBar.setVisibleBar( 2 );

        add(outlookBar, BorderLayout.LINE_END); 
    }

    public static JPanel getDummyPanel( String name )
    {
        JPanel panel = new JPanel( new BorderLayout() );
        panel.add( new JLabel( name, JLabel.CENTER ) );
        return panel;
    }

    @Override
    public void actionPerformed(ActionEvent arg0) {
        // TODO Auto-generated method stub
    }

    @Override
    public void paintComponent(Graphics g) {
        Graphics2D g2d = (Graphics2D) g;
        g2d.drawImage(mapa, 0, 0, getWidth()-300, getHeight()-150, null);
    }
}

我还尝试输入JButton 或其他内容。一切总是出现在应用程序的顶部中心。对不起变量的波兰名称。

提前致谢

【问题讨论】:

    标签: java swing jpanel components setbounds


    【解决方案1】:

    如果你想让BorderLayout.LINE_END 有效果,你必须将BorderLayout 应用到Container。为此,只需添加

    setLayout(new BorderLayout());
    

    致您的构造函数MapaSwiata()

    注意:您的子面板不需要BorderLayout

    【讨论】:

      猜你喜欢
      • 2011-11-18
      • 1970-01-01
      • 2015-08-21
      • 2018-01-04
      • 1970-01-01
      • 2016-01-06
      • 1970-01-01
      • 2010-10-22
      • 1970-01-01
      相关资源
      最近更新 更多