Hallo zusammen,
ich habe ein Beispiel aus unserem Forum gefunden:
Mein Frage ist: im "getJPanel1()", wie solle ich machen, so dass die Textfeldegröße dynamisch nach der Größe des ganzen Fensters geändert werden können, wenn ich das Fenster auf der Griffeck
ziehe?
Danke erst mal!
ich habe ein Beispiel aus unserem Forum gefunden:
Java:
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.SwingUtilities;
public class TabbedPaneJTableTest extends javax.swing.JFrame {
private JTabbedPane jTabbedPane1;
private JPanel jPanel1;
private JPanel jPanel2;
private JScrollPane jScrollPane1;
private JTable jTable1;
/**
* Auto-generated main method to display this JFrame
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
TabbedPaneJTableTest inst = new TabbedPaneJTableTest();
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
});
}
public TabbedPaneJTableTest() {
super();
initGUI();
}
private void initGUI() {
try {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().add(getJTabbedPane1(), BorderLayout.CENTER);
pack();
setSize(400, 300);
} catch (Exception e) {
e.printStackTrace();
}
}
private JTabbedPane getJTabbedPane1() {
if(jTabbedPane1 == null) {
jTabbedPane1 = new JTabbedPane();
jTabbedPane1.addTab("jPanel1", null, getJPanel1(), null);
jTabbedPane1.addTab("jPanel2", null, getJPanel2(), null);
}
return jTabbedPane1;
}
private JPanel getJPanel2() {
if(jPanel1 == null) {
jPanel1 = new JPanel();
BorderLayout jPanel1Layout = new BorderLayout();
jPanel1.setLayout(jPanel1Layout);
jPanel1.add(getJScrollPane1(), BorderLayout.CENTER);
}
return jPanel1;
}
private JPanel getJPanel1() {
if(jPanel2 == null) {
jPanel2 = new JPanel();
GridBagLayout jPanel1Layout = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
jPanel2.setLayout(jPanel1Layout);
gbc.gridx = 0;
gbc.gridy = 0;
jPanel2.add(new JLabel("test1"), gbc);
gbc.gridx = 1;
gbc.gridy = 0;
gbc.ipadx = 10;
jPanel2.add(new JTextField(), gbc);
gbc.gridx = 0;
gbc.gridy = 1;
jPanel2.add(new JLabel("test2"), gbc);
gbc.gridx = 1;
gbc.gridy = 1;
jPanel2.add(new JTextField(), gbc);
gbc.gridx = 0;
gbc.gridy = 2;
jPanel2.add(new JLabel("test3"), gbc);
gbc.gridx = 1;
gbc.gridy = 2;
jPanel2.add(new JTextField(), gbc);
}
return jPanel2;
}
private JScrollPane getJScrollPane1() {
if(jScrollPane1 == null) {
jScrollPane1 = new JScrollPane();
jScrollPane1.setViewportView(getJTable1());
}
return jScrollPane1;
}
private JTable getJTable1() {
if(jTable1 == null) {
TableModel jTable1Model =
new DefaultTableModel(
new String[][] { { "One", "Two" }, { "Three", "Four" } },
new String[] { "Column 1", "Column 2" });
jTable1 = new JTable();
jTable1.setModel(jTable1Model);
}
return jTable1;
}
}
Mein Frage ist: im "getJPanel1()", wie solle ich machen, so dass die Textfeldegröße dynamisch nach der Größe des ganzen Fensters geändert werden können, wenn ich das Fenster auf der Griffeck
ziehe?
Danke erst mal!