Ne pouvez pas changer la taille de bloc dans BorderLayout
J'ai créé application simple avec Bordure de Mise en page et y ajoute deux boutons et JTable. J'utilise JSplitPane entre bouton2 et JTable. Je voudrais redéfinir la taille par défaut du bloc où est situé button1. Comment puis-je résoudre cette tâche?
Voici mon 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();
}
});
}
}
- Pouvez vous s'il vous plaît spécifier un peu plus au sujet de vos besoins, pour quelqu'un pour vous répondre sur ces lignes 🙂 Une image de ce que vous voulez, une esquisse, est tout ce qui est nécessaire pour faire une idée, de ce que la ligne à suivre pour comprendre la nécessité de la question. +1 pour SSCCE
Vous devez vous connecter pour publier un commentaire.
Si vous êtes prêt à utiliser
GridBagLayout
pour l'accomplissement de l'objectif, alors je suppose que ceLayout
et de faire ce travail pour vous, comme mentionné dans le ci-dessous collé exemple de code 🙂Voici la sortie de la même :
Composants dans le
BorderLayout.PAGE_START
lieu à la hauteur de leurs préféré tailles respectés. Par conséquent, vous pouvez remplacer la taille par défaut de laJButton
but1