Tela

Amigos, sou novato no mundo do Java, programo a alguns anos em C e a algum tempo estou programando orientado a objetos, mas utilizando C++.

Resolvi migrar para o Java principalmente pela portabilidade dele, mas estou encontrando alguns problemas, principalmente na criação de um painel utilizando JPanel.

Alguém poderia me dar alguma dica?? Existe algum modo mais prático de se criar um painel com as seguintes proporções: 35x25 e tendo 4 botões dentro dele em duas colunas de dois botões cada?

Um abraço e obrigado pela ajuda…

Em primeiro lugar, eu acho que você tem que criar um JFrame e não um JPanel, depois disso você pode dar uma olhadinha nos Gerenciadores de Layout, para dibidir o Frame em duas colunas, inserindo neste Frame as instâncias dos seus objetos JButton…

[code]
class MeuFrame extends JFrame {
private JButton bnt1;
private JButton bnt2;
private JButton bnt3;
private JButton bnt4;

public MeuFrame(){
	super( "Meu frame" );
	initComponents();
	setSize( 500, 200 );// to chutando os valores;	
	show();	
}

private void initComponents(){
	GridBagLayout layout = new GridBagLayout();
	JPanel panel = new JPanel( layout );
	GridBagConstraints gbConstraints = new GridBagConstraints();
	
	bnt1 = new JButton( "bnt1" );
	gbConstraints.gridx = 0; gbConstraints.gridy = 0;
	//bnt1.setPreferredSize( new Dimension( 50, 20 ) ) caso queria mudar o tamanho
	layout.setConstraints( bnt1, gbConstraints );
	panel.add( bnt1 );
	
	bnt2 = new JButton( "bnt2" );
	gbConstraints.gridx = 1; gbConstraints.gridy = 0;
	layout.setConstraints( bnt2, gbConstraints );
	panel.add( bnt2 );
	
	...
	só continuar a fazer isso
	...
	...
	
	panel.setPreferredSize( new Dimension( 35, 35 ) );
	
	setContentPane( panel );

	
	
}

}[/code]

Pode ta faltando alguma coisinha ae… mas olha na API para saber mais sobre:
:arrow: GridBagLayout( eh um layout como se fosse uma tabela x -> coluna, y -> linha… olha outros layouts tbm

:arrow: GridBagConstraints( é uma classe que te auxilia para configurar aonde seu componente vai ficar no GridBagLayout, se ele vai ficar centralizado, se ele pode ocupar mais de uma linha ou coluna bla bla ).

setContentPane vc seta um container novo para seu JFrame… lembrando q tem tbm getContentPane()…

no mais eh so olha na API os metados que vc não conhecer que tem tudo lá…

cara,
eu acho mto chato ficar fazendo isto na mao. Tenta usar o netbeans ou outra ide q tem editor de GUI.

[]s

[quote=“joaobosco”]cara,
eu acho mto chato ficar fazendo isto na mao. Tenta usar o netbeans ou outra ide q tem editor de GUI.

[]s[/quote]

muito legal não é não…mas qd vc pega pratica faz rapidinho…
e por enguanto… pelas ferramentas livres q tenho prefiro fazer na mão…

[quote=“Hempx”][quote=“joaobosco”]cara,
eu acho mto chato ficar fazendo isto na mao. Tenta usar o netbeans ou outra ide q tem editor de GUI.

[]s[/quote]

muito legal não é não…mas qd vc pega pratica faz rapidinho…
e por enguanto… pelas ferramentas livres q tenho prefiro fazer na mão…[/quote]

E eu acho válido fazer na mão, nem que for pra aprender como, caso algum dia você precise…

Um abraço e obrigado pelo código, vou começar a trabalhar nele agora mesmo.

Uma dica aqui. O livro das formiguinhas (Como programar em JAVA), é um bom livro no quisito design de GUIs. Procure ele, tem na net a versão em inglês. :slight_smile:

Você poderia me informar o nome correto dele em inglês? Procurarei agora mesmo…

o nome dele ingles não sei
mas fazendo a engenharia reversa… deve ser how to program use a palavra java na pesquisa tbm…

esse livro é muito bom… mas acho que swing da aprender facilmente apenas com os Docs do java e os tutoriais da propria sun e os q tem na net…
vc acha de tudo… vc vai se familiarizando com eles e as coisas vão acontecendo =))) …

Meu bom, de prima, se você está aprendendo na vera, faça na mão mesmo, considero uma ótima prática no processo inicial da aprendizagem… Para tanto, utiliza o Java Como Programar, como fora dito por um companheiro, lele é um ótimo livro na questão de Interface Gráfica, e trata muito bem de criação de JFrame´s, JButton´s, Gerenciadores de Layout , Tratamento de Eventos, etc - capítulos 12 e 13.

No mais, meu bom, Tudo de Bueno e Carpe Diem![color=“darkblue”][/color]

[quote=“gandhi”]Meu bom, de prima, se você está aprendendo na vera, faça na mão mesmo, considero uma ótima prática no processo inicial da aprendizagem… Para tanto, utiliza o Java Como Programar, como fora dito por um companheiro, lele é um ótimo livro na questão de Interface Gráfica, e trata muito bem de criação de JFrame´s, JButton´s, Gerenciadores de Layout , Tratamento de Eventos, etc - capítulos 12 e 13.

No mais, meu bom, Tudo de Bueno e Carpe Diem![color=“darkblue”][/color][/quote]

Valeu pelas dicas… Vou adquirir o livro, eu comprei a algum tempo o C++ Como programar e gostei muito, o pessoal da Deitel & Deitel é fera…