smartin123
Mitglied
Hallo,
ich suche jetzt schon seit Tagen und Wochen nach einer Lösung.
Ich habe ein Programm, mit folgender Struktur: (von unten nach oben)
JTable --> JScrollPane --> JPanel --> JFrame
Das JFrame wurde mit Hilfe GridBagLayout aufgebaut.
Nun zu meinem Problem:
Wenn man das JPanel alleine startet und maximiert, wird auch die JTable dementsprechend
vergrößert. Das selbe Ergebnis möchte ich auch im JFrame (Hauptfenster) erreichen.
Bisher wird das JPanel im JFrame nur in die Mitte positioniert und die Größe des JPanels
bleibt gleich.
Möglicherweise fehlen mir noch Kenntnisse, wie das GridBagLayout zu verwenden ist.
Leider habe ich trotz Tutorials und Anleitungen, das nicht hinbekommen.
Hier ist der Quellcode zu einem Programm, das mein Problem darstellt:
Klasse Fenster (JFrame)
Klasse Panel (JPanel):
Wäre klasse, wenn mir jemand weiterhelfen könnte.
Vielen Dank
vg
ManInBlack
ich suche jetzt schon seit Tagen und Wochen nach einer Lösung.
Ich habe ein Programm, mit folgender Struktur: (von unten nach oben)
JTable --> JScrollPane --> JPanel --> JFrame
Das JFrame wurde mit Hilfe GridBagLayout aufgebaut.
Nun zu meinem Problem:
Wenn man das JPanel alleine startet und maximiert, wird auch die JTable dementsprechend
vergrößert. Das selbe Ergebnis möchte ich auch im JFrame (Hauptfenster) erreichen.
Bisher wird das JPanel im JFrame nur in die Mitte positioniert und die Größe des JPanels
bleibt gleich.
Möglicherweise fehlen mir noch Kenntnisse, wie das GridBagLayout zu verwenden ist.
Leider habe ich trotz Tutorials und Anleitungen, das nicht hinbekommen.
Hier ist der Quellcode zu einem Programm, das mein Problem darstellt:
Klasse Fenster (JFrame)
Code:
package p15;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Rectangle;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
public class Fenster extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private Panel panel = null;
/**
* This is the default constructor
*/
public Fenster() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.insets = new Insets(34, 55, 35, 41);
gridBagConstraints.gridy = 0;
gridBagConstraints.ipadx = -257;
gridBagConstraints.ipady = -315;
gridBagConstraints.gridx = 0;
jContentPane = new JPanel();
jContentPane.setLayout(new GridBagLayout());
jContentPane.add(getPanel(), gridBagConstraints);
}
return jContentPane;
}
/**
* This method initializes panel
*
* @return p15.Panel
*/
private Panel getPanel() {
if (panel == null) {
panel = new Panel();
}
return panel;
}
public static void main(String[] args) {
Fenster fe = new Fenster();
fe.setVisible(true);
}
}
Klasse Panel (JPanel):
Code:
package p15;
import java.awt.GridBagLayout;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import java.awt.GridBagConstraints;
public class Panel extends JPanel {
private static final long serialVersionUID = 1L;
private JScrollPane jScrollPane = null;
private JTable jTable = null;
// Die Daten für das Table
String[][] data = new String[][]{
{"a", "b", "c", "d"},
{"e", "f", "g", "h"},
{"i", "j", "k", "l"}
};
// Die Column-Titles
String[] title = new String[]{
"A", "B", "C", "D"
};
/**
* This is the default constructor
*/
public Panel() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.fill = GridBagConstraints.BOTH;
gridBagConstraints.gridy = 0;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.gridx = 0;
this.setSize(300, 200);
this.setLayout(new GridBagLayout());
this.add(getJScrollPane(), gridBagConstraints);
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setViewportView(getJTable());
}
return jScrollPane;
}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
private JTable getJTable() {
if (jTable == null) {
jTable = new JTable(data, title );
}
return jTable;
}
}
Wäre klasse, wenn mir jemand weiterhelfen könnte.
Vielen Dank
vg
ManInBlack