Zdravím,
už nějakou dobu přemýšlím nad tím, jak v Javě (Java Swing, Netbeans) vytvořit aplikaci, kde bude přihlašovací formulář připojený k databázi a po ověření uživatele dojde k přepnutí na jinou stránku. Zatím jsem vytvořil aplikaci, kde k přechodu dochází pomocí změny viditelnosti jednotlivých jFrame, ale to mi připadá jako divné řešení. Chci se zeptat, zda-li někdo z vás neví jak vytvořit aplikaci, kde by ke změně obsahu docházelo pouze v jednom jFrame, pomocí přepínání jPanelů.
Fórum › Java
Vícestránková aplikace
#1 MiraP
JFrame frame = new JFrame();
Container container = frame.getContentPane();
JPanel loginPanel = new JPanel();
container.add(loginPanel);
// výměna
JPanel appPanel = new JPanel();
container.removeAll();
container.add(appPanel);
#1 MiraP
Ahoj, mohl by jsi použít layout manager CardLayout, který přesně tohle umí. V jednom JFramu/JPanelu přepínat obsah.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CardLayoutExample {
public static void main(String[] arguments) {
// main window
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame window = new JFrame("CardLayout Example");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(300,300);
window.setLayout(new BorderLayout());
final CardLayout cardLayout = new CardLayout();
final JPanel cardPanel = new JPanel(cardLayout);
// create two dummy panels (the "cards") to show
JPanel card1 = new JPanel();
card1.setBackground(Color.red);
JPanel card2 = new JPanel();
card2.setBackground(Color.blue);
cardPanel.add(card1,"RedCard");
cardPanel.add(card2,"BlueCard");
// create two buttons
JPanel buttonPanel = new JPanel();
JButton b1 = new JButton("Red");
JButton b2 = new JButton("Blue");
buttonPanel.add(b1);
buttonPanel.add(b2);
// create action listeners for buttons
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
cardLayout.show(cardPanel, "RedCard");
}
});
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
cardLayout.show(cardPanel, "BlueCard");
}
});
// add card & button panels to the main window
window.add(cardPanel,BorderLayout.CENTER);
window.add(buttonPanel,BorderLayout.SOUTH);
window.setVisible(true);
}
}
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 4 hosté
Podobná vlákna
Dotazování na stav aplikace, řízení stavu aplikace — založil hlucheucho
Aplikace ve VS — založil kuba
Aplikace — založil ETNyx
Aplikace z c++ — založil ovens
Moderátoři diskuze