hi,
ich habe eine tabbed Pane die 2 JPanels enthält. das eine JPanel braucht für eine brauchbare Darstellung eine deutlich größere Fläch als das andere. Weswegen ich die größe meines JFrames, dass die beiden Panels enthält, je nachdem welcher Tab grade geöffnet ist, anpassen will.
dafür ahb ich mir einen changeListener für die TabbedPane definiert. der die größe des JFrames setzt wenn ein Tab ausgewählt wird.
Leider kommt der Layoutmanager innerhalb des StudentSearchWindow-Panel damit nicht klar, weswegen alle Komponenten in der Mitte zentriert zusammengematscht dargestellt werden(siehe Anhang).
Das Problem tritt nur auf wenn ich versuche die Panels über das ChangeEvent zu resizen, jemand eine Idee woran das liegen kann?
ich habe eine tabbed Pane die 2 JPanels enthält. das eine JPanel braucht für eine brauchbare Darstellung eine deutlich größere Fläch als das andere. Weswegen ich die größe meines JFrames, dass die beiden Panels enthält, je nachdem welcher Tab grade geöffnet ist, anpassen will.
dafür ahb ich mir einen changeListener für die TabbedPane definiert. der die größe des JFrames setzt wenn ein Tab ausgewählt wird.
Leider kommt der Layoutmanager innerhalb des StudentSearchWindow-Panel damit nicht klar, weswegen alle Komponenten in der Mitte zentriert zusammengematscht dargestellt werden(siehe Anhang).
Das Problem tritt nur auf wenn ich versuche die Panels über das ChangeEvent zu resizen, jemand eine Idee woran das liegen kann?
Java:
public class MainWindowEmployee extends JFrame
{
final int x_size=1024, y_size=1000;
final int x_size_insert=600, y_size_insert=300;
private JTabbedPane tabPane;
private JPanel searchPane;
private JPanel insertPane;
private MenuBar menu;
public MainWindowEmployee()
{
tabPane = new JTabbedPane();
searchPane = new StudentSearchWindow(x_size, y_size);
insertPane = new EmployeeInsertWindow();
tabPane.addTab("Erfassen", insertPane);
tabPane.addTab("Suchen", searchPane);
tabPane.addChangeListener(new ChangeListener()
{
public void stateChanged(ChangeEvent e)
{
int selectedTab = ((JTabbedPane)e.getSource()).getSelectedIndex();
if (selectedTab == 0)
{
setSize(x_size_insert, y_size_insert);
setLocationRelativeTo(null);
setVisible(true);
}
else
setSize(x_size, y_size);
setLocationRelativeTo(null);
setVisible(true);
}
}
);
menu = new MenuBar();
setJMenuBar(menu);
add(tabPane);
setSize(x_size, y_size);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setResizable(false);
pack();
setVisible(true);
}