Hallo, hätte da eine Frage zu jscrollpane. Und zwar ich habe da eine gui erstellt, welche aus 3 Panels besteht (first, sceond, third), liegen alle mittels GridLayout untereinander.
In First und second Panel sind nun Jlabels und Buttons enthalten, die durch eine for schleife erzeugt werden.
Wie kann man die Gui nun so gestallten, dass z.b. ab einer bestimmten Anzahl oder Größe (z.b. wenn die for Schleife mehr als 10 Zeilen erzeugt) ein jscrollpane erscheint?
Füge mal unten den Code an, den ich bis jetzt haben.
Ich hoffe mir kann da wer weiter helfen.
Eine Frage hätte ich noch, und zwar GridLayout erstellt mir ja immer gleich große Boxen (z.B. GridLayout(3,1) 3 Zeilen 1 Spalte). Wie kann ich es aber machen, dass z.b. die oberste Box nur ganz klein ist?
Danke schonmal
mfg
In First und second Panel sind nun Jlabels und Buttons enthalten, die durch eine for schleife erzeugt werden.
Wie kann man die Gui nun so gestallten, dass z.b. ab einer bestimmten Anzahl oder Größe (z.b. wenn die for Schleife mehr als 10 Zeilen erzeugt) ein jscrollpane erscheint?
Füge mal unten den Code an, den ich bis jetzt haben.
Code:
package gui;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import entities.Fest;
public class Gui extends JFrame {
JPanel first = new JPanel();
JPanel second = new JPanel();
JPanel third = new JPanel();
public Gui() {
Container cp = getContentPane();
// first.setPreferredSize(new Dimension(900, 800));
cp.setLayout(new GridLayout(3,1));
//GridBagConstraints c = new GridBagConstraints();
first.setLayout(null);
first.setPreferredSize(new Dimension(1000, 300));
// first.add(BorderLayout.NORTH,new JButton("North"));
/////////////
second.setLayout(null);
second.setPreferredSize(new Dimension(1000, 300));
JLabel fest = new JLabel();
fest.setSize(100, 9);
fest.setLocation(20, 75);
fest.setText("FEST");
second.add(fest);
cp.add(second);
////////////
third.setLayout(null);
third.setPreferredSize(new Dimension(1000, 500));
JButton[] f_edit = new JButton[30];
JButton[] f_delete = new JButton[30];
JLabel[] f_fid = new JLabel[10];
JLabel[] f_Ort = new JLabel[50];
JLabel[] f_datum = new JLabel[30];
JLabel[] f_thema = new JLabel[30];
JLabel[] f_anz_gäste = new JLabel[30];
JLabel[] f_security = new JLabel[30];
JLabel[] f_gewinn = new JLabel[30];
JTextField[] tf = new JTextField[30];
for (int i = 0; i <= 8; i++) {
f_fid[i] = new JLabel();
f_fid[i].setSize(100, 9);
f_fid[i].setLocation(20, i * 30 + 20);
f_fid[i].setText("Fid");
first.add(f_fid[i]);
f_Ort[i] = new JLabel();
f_Ort[i].setSize(100, 9);
f_Ort[i].setLocation(100, i * 30 + 20);
f_Ort[i].setText("Ort");
first.add(f_Ort[i]);
f_datum[i] = new JLabel();
f_datum[i].setSize(100, 9);
f_datum[i].setLocation(180, i * 30 + 20);
f_datum[i].setText("Datum");
first.add(f_datum[i]);
f_thema[i] = new JLabel();
f_thema[i].setSize(100, 9);
f_thema[i].setLocation(260, i * 30 + 20);
f_thema[i].setText("Thema");
first.add(f_thema[i]);
f_anz_gäste[i] = new JLabel();
f_anz_gäste[i].setSize(100, 9);
f_anz_gäste[i].setLocation(340, i * 30 + 20);
f_anz_gäste[i].setText("Anz_Gäste");
first.add(f_anz_gäste[i]);
f_security[i] = new JLabel();
f_security[i].setSize(100, 9);
f_security[i].setLocation(420, i * 30 + 20);
f_security[i].setText("Security");
first.add(f_security[i]);
f_gewinn[i] = new JLabel();
f_gewinn[i].setSize(100, 9);
f_gewinn[i].setLocation(500, i * 30 + 20);
f_gewinn[i].setText("Gewinn");
first.add(f_gewinn[i]);
/*
tf[i] = new JTextField();
tf[i].setSize(300, 15);
tf[i].setLocation(100, i * 30 + 20);
first.add(tf[i]);
tf[i].setVisible(true);
*/
f_edit[i] = new JButton();
f_edit[i].setSize(100, 15);
f_edit[i].setLocation(760, i * 30 + 20 - 3);
f_edit[i].setText("bearbeiten");
first.add(f_edit[i]);
f_delete[i] = new JButton();
f_delete[i].setSize(100, 15);
f_delete[i].setLocation(890, i * 30 + 20 - 3);
f_delete[i].setText("löschen");
first.add(f_delete[i]);
}
cp.add(first);
//cp.add(new JLabel("ein einfaches Label"));
//cp.add(new JLabel("ein einfaches Label"));
JButton[] s_edit = new JButton[30];
JButton[] s_delete = new JButton[30];
JLabel[] s_svnr = new JLabel[10];
JLabel[] s_vorname = new JLabel[50];
JLabel[] s_nachname = new JLabel[30];
JLabel[] s_gebdatum = new JLabel[30];
JLabel[] s_Wohnort = new JLabel[30];
JLabel[] s_plz = new JLabel[30];
JLabel[] s_funktion = new JLabel[30];
JLabel[] s_angestellt_seit = new JLabel[30];
JLabel[] s_fid = new JLabel[30];
for (int i = 0; i <= 8; i++) {
s_svnr[i] = new JLabel();
s_svnr[i].setSize(100, 9);
s_svnr[i].setLocation(20, i * 30 + 20);
s_svnr[i].setText("SVNR");
third.add(s_svnr[i]);
s_vorname[i] = new JLabel();
s_vorname[i].setSize(100, 9);
s_vorname[i].setLocation(100, i * 30 + 20);
s_vorname[i].setText("Vorname");
third.add(s_vorname[i]);
s_nachname[i] = new JLabel();
s_nachname[i].setSize(100, 9);
s_nachname[i].setLocation(180, i * 30 + 20);
s_nachname[i].setText("Nachname");
third.add(s_nachname[i]);
s_gebdatum[i] = new JLabel();
s_gebdatum[i].setSize(100, 9);
s_gebdatum[i].setLocation(260, i * 30 + 20);
s_gebdatum[i].setText("GebDatum");
third.add(s_gebdatum[i]);
s_Wohnort[i] = new JLabel();
s_Wohnort[i].setSize(100, 9);
s_Wohnort[i].setLocation(340, i * 30 + 20);
s_Wohnort[i].setText("Wohnort");
third.add(s_Wohnort[i]);
s_plz[i] = new JLabel();
s_plz[i].setSize(100, 9);
s_plz[i].setLocation(420, i * 30 + 20);
s_plz[i].setText("PLZ");
third.add(s_plz[i]);
s_funktion[i] = new JLabel();
s_funktion[i].setSize(500, 9);
s_funktion[i].setLocation(500, i * 30 + 20);
s_funktion[i].setText("Funktion");
third.add(s_funktion[i]);
s_angestellt_seit[i] = new JLabel();
s_angestellt_seit[i].setSize(710, 9);
s_angestellt_seit[i].setLocation(580, i * 30 + 20);
s_angestellt_seit[i].setText("Ang_seit");
third.add(s_angestellt_seit[i]);
s_fid[i] = new JLabel();
s_fid[i].setSize(640, 9);
s_fid[i].setLocation(660, i * 30 + 20);
s_fid[i].setText("Fid");
third.add(s_fid[i]);
s_edit[i] = new JButton();
s_edit[i].setSize(100, 15);
s_edit[i].setLocation(760, i * 30 + 20 - 3);
s_edit[i].setText("bearbeiten");
third.add(s_edit[i]);
s_delete[i] = new JButton();
s_delete[i].setSize(100, 15);
s_delete[i].setLocation(890, i * 30 + 20 - 3);
s_delete[i].setText("löschen");
third.add(s_delete[i]);
}
cp.add(third);
pack();
setVisible(true);
}
}
Ich hoffe mir kann da wer weiter helfen.
Eine Frage hätte ich noch, und zwar GridLayout erstellt mir ja immer gleich große Boxen (z.B. GridLayout(3,1) 3 Zeilen 1 Spalte). Wie kann ich es aber machen, dass z.b. die oberste Box nur ganz klein ist?
Danke schonmal
mfg