Galera, eu preciso colocar uma parte só de cadastro dentro da minha tela que é um JPanel.
Eu pensei em criar outro JPanel e adicioná-lo a direita da minha tela.
Tem como eu adicionar a direita da minha tela, como se vc fosse tipo uma coluna?
Tem sim.
Uma opção seria usar neste seu primeiro painel, o layout GridBagLayout().
Nele, você consegue definir a linha e a coluna onde você adicionará o componente.
Abraço!
O problema é que eu tenho um JFlipPane (simulador de jornal) que ocupa quase a tela inteira.
Só sobra um espaço a direita da tela.
Não dá pra dividir em espaços iguais os dois objetos…entendeu
Não tem outra maneira de fazer isso amigo?
Neste caso, você pode usar layout nulo e direcionar este painel para este espaço que está sobrando.
É só criar o novo painel e adicionar no painel principal.
Abraço!
Layout nulo?
Como assim…não entendi
Vc teria algum exemplo amigo?
Obrigado
Você pode definir o layout de uma tela nulo.
Ou seja, será você que irá especificar a posição de cada componente dentro desta tela.
Se você utiliza layout, o próprio layout faz isto pra você. Porém você também tem a opção de arrumá-los da forma que você quiser.
No layout nulo, nada está “pré-moldado”. Todo o componente que você criar, além de você adicioná-lo no container, você terá que definir a posição do mesmo na tela.
Então, usando um layout nulo, você teria apenas o trabalho de “colocar” este componente no espaço vazia que lhe está sobrando em sua tela.
Exemplo:
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class PositivoNegativo extends JFrame
{
private JTextField field;
private JButton button;
private PositivoNegativo() {
setSize(100,120);
setLayout(null); /* Aqui está sendo indicado que está tela não terá layout */
setLocationRelativeTo(null);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
criarJanela();
}
private void criarJanela() {
field = new JTextField();
field.setBounds(5,5,50,20);
getContentPane().add(field);
button = new JButton
(
new AbstractAction("+/-") {
public void actionPerformed(ActionEvent e ) {
if (!field.getText().isEmpty()) {
field.setText(""+Integer.parseInt(field.getText()) * (-1));
}
}
}
);
button.setBounds(5,30,50,20);
getContentPane().add(button);
}
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
new PositivoNegativo().setVisible(true);
}
}
Espero ter ajudado.
Abraço!