Ich habe eine einfache App mit Border Layout erstellt und zwei Schaltflächen und JTable hinzugefügt. Ich verwende JSplitPane zwischen button2 und JTable. Ich möchte die Standardgröße des Blocks neu definieren, wo sich Button1 befindet. Wie kann ich diese Aufgabe lösen?Blockgröße kann in BorderLayout nicht geändert werden
Hier ist mein Code:
package test;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
public class Sample {
public Sample() {
JFrame app = new JFrame("Sample");
app.setSize(new Dimension(800,600));
JPanel panel = new JPanel();
app.add(panel);
BorderLayout borderlayout = new BorderLayout();
panel.setLayout(borderlayout);
JButton but1 = new JButton("1");
JButton but2 = new JButton("2");
but2.setMinimumSize(new Dimension(250,0));
String[] colNames = {"Name","Number","Scores"};
Object[][] data = {
{ "Mark",11,12},
{"Tommy",23,34},
{"John",34,45}
};
JTable table = new JTable(data, colNames);
JScrollPane scrollpane = new JScrollPane(table);
JSplitPane jsplitpane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,but2,scrollpane);
panel.add(but1,BorderLayout.NORTH);
panel.add(jsplitpane,BorderLayout.CENTER);
app.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Sample();
}
});
}
}
M Sie geben bitte etwas mehr für Ihre Bedürfnisse an, damit Ihnen jemand in diesen Zeilen antworten kann :-) Ein Bild von genau dem, was Sie wollen, eine grobe Skizze, ist alles, was benötigt wird, um eine Idee zu machen, welcher Linie man folgen muss um die Notwendigkeit der Frage zu verstehen. +1 für SSCCE –