F
Finwe8
Gast
Hallo,
ich habe folgendes Problem und finde keine Lösung:
Unzwar wird bei mir ein JTextfield anders positioniert als Buttons, was ich nicht haben möchte.
Hier erstmal der Code "this" ist ein JFrame:
Die Anzeige sieht folgerndermaßen aus (da ich hier kein Bild hochladen kann schematisch) :
| scrollPane..............|infoLabel......|....|
| scrollPane........|JTextfield...|............|
| scrollPane..............|saveButton...|....|
| scrollPane..............|cancelButtion|....|
| scrollPane.......................................|
| scrollPane.......................................|
| scrollPane.......................................|
Ich finde dafür überhaupt keine sinnvolle erklärung, da ich die Buttons, das Label und das Textfield gleich behandele!?
Hat jemand eine Idee?
Vielen dank schonmal!
ich habe folgendes Problem und finde keine Lösung:
Unzwar wird bei mir ein JTextfield anders positioniert als Buttons, was ich nicht haben möchte.
Hier erstmal der Code "this" ist ein JFrame:
Java:
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setAlwaysOnTop(true);
this.setTitle("Save Sessions");
this.setSize(400, 400);
this.setMinimumSize(new Dimension(400,250));
this.setLocationRelativeTo(containingFrame);
infoLabel = new JLabel("Name for new Session :");
infoLabel.setPreferredSize(new Dimension(150,25));
infoLabel.setMaximumSize(new Dimension(150,25));
infoLabel.setMinimumSize(new Dimension(150,25));
newNameTextField = new JTextField();
newNameTextField.setPreferredSize(new Dimension(150,25));
newNameTextField.setMaximumSize(new Dimension(150,25));
newNameTextField.setMinimumSize(new Dimension(150,25));
saveButton = new JButton();
saveButton.addActionListener(new SaveButtonListener());
saveButton.setText("Save");
saveButton.setPreferredSize(new Dimension(150,25));
saveButton.setMaximumSize(new Dimension(150,25));
saveButton.setMinimumSize(new Dimension(150,25));
saveButton.setEnabled(false);
cancelButton = new JButton();
cancelButton.addActionListener(new CancelButtonListener());
cancelButton.setText("Cancel");
cancelButton.setPreferredSize(new Dimension(150,25));
cancelButton.setMaximumSize(new Dimension(150,25));
cancelButton.setMinimumSize(new Dimension(150,25));
listModel = new DefaultListModel();
savedSessionsList = new JList(listModel);
savedSessionsList.setLayoutOrientation(JList.VERTICAL);
savedSessionsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
savedSessionsList.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
if (savedSessionsList.getSelectedIndex() == -1
&& newNameTextField.getText() == "") {
saveButton.setEnabled(false);
} else {
newNameTextField.setText((String) savedSessionsList
.getSelectedValue());
saveButton.setEnabled(true);
}
}
}
});
scrollPane = new JScrollPane(savedSessionsList);
scrollPane.setPreferredSize(new Dimension(200, 300));
for (Session session : SessionPersistence.readSessions()) {
listModel.addElement(session.getName());
}
JPanel scrollPanePanel = new JPanel();
scrollPanePanel.setLayout(new BoxLayout(scrollPanePanel, BoxLayout.PAGE_AXIS));
scrollPanePanel.add(scrollPane);
scrollPanePanel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.PAGE_AXIS));
buttonPanel.add(infoLabel);
buttonPanel.add(Box.createRigidArea(new Dimension(0,5)));
buttonPanel.add(newNameTextField);
buttonPanel.add(Box.createRigidArea(new Dimension(0,20)));
buttonPanel.add(saveButton);
buttonPanel.add(Box.createRigidArea(new Dimension(0,20)));
buttonPanel.add(cancelButton);
buttonPanel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
Container container = this.getContentPane();
container.add(scrollPanePanel,BorderLayout.CENTER);
container.add(buttonPanel, BorderLayout.EAST);
this.pack();
Die Anzeige sieht folgerndermaßen aus (da ich hier kein Bild hochladen kann schematisch) :
| scrollPane..............|infoLabel......|....|
| scrollPane........|JTextfield...|............|
| scrollPane..............|saveButton...|....|
| scrollPane..............|cancelButtion|....|
| scrollPane.......................................|
| scrollPane.......................................|
| scrollPane.......................................|
Ich finde dafür überhaupt keine sinnvolle erklärung, da ich die Buttons, das Label und das Textfield gleich behandele!?
Hat jemand eine Idee?
Vielen dank schonmal!