Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
518
Tıklama
0
Öne Çıkarma
JPaneller arası geçiş nasıl yapılabilir?
F
7 yıl
Er
Konu Sahibi

Merhaba millet tek bir JFrame sahibi olup birden fazla JPanel kullanarak bunların arasınge geçişler yapmak istiyorum. Bunu nasıl yapabilirim? Şu şekilde denedim ama olmadı..

package gui;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

@SuppressWarnings("serial")
public class Form_Main extends JFrame {

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Form_Main frame = new Form_Main();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Form_Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);

JPanel pg = new Panel_Giris();
panelEkle(pg);
}

public void panelEkle(JPanel j) {
j.setBorder(new EmptyBorder(5, 5, 5, 5));
j.setLayout(null);
setContentPane(j);
}

}


package gui;

import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

@SuppressWarnings("serial")
public class Panel_Giris extends JPanel {
private JTextField textField;
private JTextField textField_1;

/**
* Create the panel.
*/
public Panel_Giris() {
setLayout(null);

JLabel lblNewLabel = new JLabel("New label");
lblNewLabel.setBounds(68, 95, 70, 15);
add(lblNewLabel);

textField = new JTextField();
textField.setBounds(177, 93, 114, 19);
add(textField);
textField.setColumns(10);

JLabel lblNewLabel_1 = new JLabel("New label");
lblNewLabel_1.setBounds(68, 143, 70, 15);
add(lblNewLabel_1);

textField_1 = new JTextField();
textField_1.setBounds(177, 141, 114, 19);
add(textField_1);
textField_1.setColumns(10);

JButton btnNewButton = new JButton("New button");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Form_Main fm = new Form_Main();
JPanel ana = new Panel_A();
fm.panelEkle(ana);
}
});
btnNewButton.setBounds(177, 193, 117, 25);
add(btnNewButton);

}
}


Panel eklemek için panelEkle diye bir yordamım var ve bu yordamla dışarıdan panel nesnesi alarak onu frame üzerinde yazdırıyorum ama bir şeyi gözden kaçırdığım için çalışmıyor. Acaba kurduğum mantıkta mı bir sıkıntı var?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi farad -- 6 Nisan 2018; 17:38:38 >

F
7 yıl
Er
Konu Sahibi

CardLayout kullanmak gerekiyormuş. Verilen cevaplar için teşekkürler ^^



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.