Hi, also ich hab hier ein kleines Programm geschrieben (verwaltung von Büchern).
Nun wollte ich in meiner gui, dass man ein Textfeld für die Eingabe hat und gleichzeitig eine Beschriftung mit Anweisung. Jedoch passt das ganze Nicht so ganz in mein Frame ;(
Das Eingabefeld ist etwas klein...
Hat jemand eine gute Idee, wie ich meine Idee verändern kann, dass ich eine besser Darstellung hab (Ich habe schon folgendes probiert ( also wenns geht keine komplett neue Variante ) :
-mit setFont hab ich die Schrift kleiner gemacht, das Eingabefeld bleibt gleich
-ich könnte theoretisch auch einen Button , der einen dann zu einer JOptionPane weiterleitet machen, will aber lieber "alles auf einem haufen " mit nicht so vielen Dialogfenstern
-habe versucht irgendwie alles nacht links zu rücken um dem Eingabefeld platz zu machen, dies hat aber leider nicht geklappt (das hier wäre so meine Variante die ich gerne umgesetzt hätte
Hier mal der Code:
Die anderen Klassen sind eher unwichtig für meine Frage, aber falls sie jemand doch braucht einfach melden
*meinte im Titel JLabel nicht JTextLabel ...
Jetzt schon mal Danke für Antworten.
Gruß
Nun wollte ich in meiner gui, dass man ein Textfeld für die Eingabe hat und gleichzeitig eine Beschriftung mit Anweisung. Jedoch passt das ganze Nicht so ganz in mein Frame ;(
Das Eingabefeld ist etwas klein...
Hat jemand eine gute Idee, wie ich meine Idee verändern kann, dass ich eine besser Darstellung hab (Ich habe schon folgendes probiert ( also wenns geht keine komplett neue Variante ) :
-mit setFont hab ich die Schrift kleiner gemacht, das Eingabefeld bleibt gleich
-ich könnte theoretisch auch einen Button , der einen dann zu einer JOptionPane weiterleitet machen, will aber lieber "alles auf einem haufen " mit nicht so vielen Dialogfenstern
-habe versucht irgendwie alles nacht links zu rücken um dem Eingabefeld platz zu machen, dies hat aber leider nicht geklappt (das hier wäre so meine Variante die ich gerne umgesetzt hätte
Hier mal der Code:
Java:
public class BibliothekGUI extends JFrame {
private Bibliothek bib;
private JTextArea textField;
public BibliothekGUI(Bibliothek bib) {
super("Universitaetsbibliothek");
setDefaultCloseOperation(EXIT_ON_CLOSE);
this.bib = bib;
textField = new JTextArea(5,50);
textField.setEnabled(false);
this.add(new JScrollPane(textField), BorderLayout.NORTH);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JLabel inputText = new JLabel("Bitte Titel des Buches eingeben , dass zurückgegeben werden soll: ");
JTextField input = new JTextField();
input.addActionListener(e->{
String titel = input.getText();
System.out.println(titel);
try {
if(bib.zurueckgeben(titel)){
JOptionPane.showMessageDialog(null, "Buch konnte erfolgreich zurückgegeben werden (Frist wurde eingehalten)", "Rückgabe hat funktioniert", JOptionPane.INFORMATION_MESSAGE);
}else{
JOptionPane.showMessageDialog(null, "Buch konnte erfolgreich zurückgegeben werden (Frist wurde nicht eingehalten!)", "Rückgabe hat funtktioniert", JOptionPane.INFORMATION_MESSAGE);
}
} catch (IllegalLoanException ex) {
JOptionPane.showMessageDialog(null, "Rückgabe hat nicht funktioniert!", "Rückgabe hat leider nicht funktioniert", JOptionPane.ERROR_MESSAGE);
}
});
panel.add(inputText);
panel.add(input);
this.add(panel, BorderLayout.SOUTH);
JButton btnIsOpen = new JButton("Geoeffnet?");
btnIsOpen.addActionListener(e -> {
String message;
if (this.bib.isOpen()) {
message = "Die Bibliothek hat geoeffnet";
} else {
message = "Die Bibliothek hat nicht geoeffnet";
}
JOptionPane.showMessageDialog(this, message);
});
add(btnIsOpen, BorderLayout.WEST);
JButton btnAddBuch = new JButton("Buch hinzufuegen");
btnAddBuch.addActionListener(e -> {
new AddBook(this, this.bib);
});
add(btnAddBuch, BorderLayout.CENTER);
JButton btnShowBooks = new JButton("Zeige alle Buecher");
btnShowBooks.addActionListener(e -> {
new ShowBooks(this, this.bib);
});
add(btnShowBooks, BorderLayout.EAST);
pack();
setVisible(true);
}
public static void main(String[] args) {
new BibliothekGUI(new Bibliothek());
}
public void addText(String s){
textField.append(s);
}
}
*meinte im Titel JLabel nicht JTextLabel ...
Jetzt schon mal Danke für Antworten.
Gruß
Zuletzt bearbeitet: