Acho que entendi sua dúvida, se vc fizer o seguinte:
//Seu frameJFrameframe=newJFrame()frame.setLayout(newBorderLayout());//comp é seu componente, pode ser JButton, JPanel etc...add(BorderLayout.SOUTH,comp);
Assim seu componente vai ficar no inferior do Jframe.
Editado: Tem um link como referência para esse tipo de layout,
Espero ter ajudado
Flwss
V
Viwamoto
hum…na verdade é mais ou menos
V
Viwamoto
Na verdade, eu queria criar um BorderLayout na parte sul do JFrame
onde eu posso adicionar um JTextField do lado esquerdo e um JButton do lado esquedo do BorderLayout .
olha isso é mais ou menos o que eu queria, mais no lugar do JButton, eu queria add mais coisas
importjava.awt.BorderLayout;importjava.awt.Component;importjava.awt.Dimension;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.GridLayout;importjava.awt.Image;importjava.awt.LayoutManager;importjava.awt.geom.AffineTransform;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjavax.swing.*;/* FrameDemo.java requires no other files. */publicclassTesteNovo1extendsJFrame{privatestaticfinallongserialVersionUID=1L;privateImageimg;privatestaticJFrameframe;publicTesteNovo1(){setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);pack();setVisible(true);fundo();JButtonb1=newJButton("button1");b1.setPreferredSize(newDimension(175,100));JButtonb2=newJButton("button2");b1.setPreferredSize(newDimension(175,100));// se eu marco os dois, ele sobreescreve o outrothis.getContentPane().add(b1,BorderLayout.SOUTH);//this.getContentPane().add(b2, BorderLayout.SOUTH);frame.setLayout(newBorderLayout());add(b1);add(b2);}/** * Carrega a imagem de fundo, e chama o metodo que ira desenhar os lotes. */publicvoidfundo(){// Carrega imagem na memoria para evitar todo repaint buscar em discobyte[]imagem=carregaImagem();img=newImageIcon(imagem).getImage();/** * Esta é uma classe anônima. Um componente que pinta uma imagem */JComponentcomp=newJComponent(){privatestaticfinallongserialVersionUID=1L;protectedvoidpaintComponent(Graphicsg){// Transformar para graphics 2dGraphics2Dg2d=(Graphics2D)g;AffineTransformtx=newAffineTransform();Dimensiontam=getSize();//Regrinha de 3: Ajusta a altura e largura da imagem de acordo// com o tamanho da framedoublex=tam.width/(double)img.getWidth(null);doubley=tam.height/(double)img.getHeight(null);tx.scale(x,y);// Pinta a imagemg2d.drawImage(img,tx,this);}};setSize(800,600);JScrollPanescroll=newJScrollPane(comp);add(scroll);}/** * Carrega a imagem de fundo **/privatebyte[]carregaImagem(){try{Filef=newFile("resources/background.jpg");FileInputStreamfis=newFileInputStream(f);byte[]imagem=newbyte[(int)f.length()];intqtdLido=fis.read(imagem);if(qtdLido!=f.length())thrownewRuntimeException("Erro na leitura do arquivo");returnimagem;}catch(IOExceptione){thrownewRuntimeException("Erro ao ler imagem",e);}}publicstaticvoidmain(String[]args){frame=newTesteNovo1();}}
D
doug
Olá
Para colocar mais de um componente no “mesmo lugar”, nos utilizamos o JPanel…
dai nele vc tb pode setar layout diversos…