Cet article présente principalement l'explication détaillée de l'utilisation du gestionnaire de mise en page Java Spring. Les amis qui en ont besoin peuvent se référer à
Le gestionnaire de mise en page implémenté par la classe SpringLayout est appelé le gestionnaire de mise en page Spring. Utilisez ce gestionnaire de mise en page pour gérer les composants. Lorsque la taille du formulaire est modifiée, la taille des composants peut être automatiquement ajustée sans modifier les positions relatives entre les composants, de sorte que les composants remplissent toujours tout le formulaire, garantissant ainsi l'effet global de. la forme. Examinons ensuite l'utilisation et les effets du gestionnaire de mise en page Spring à travers un exemple.
Le gestionnaire de disposition Spring prend les bords des conteneurs et des composants comme objets opérationnels et gère la disposition des composants en établissant des contraintes pour les bords des composants et des conteneurs, ainsi que les bords des composants et des composants. Des contraintes peuvent être établies entre chaque arête grâce à la méthode putConstraint(String e1,Conponet c1,int pad,String e2,Component c2). Les paramètres d'entrée de cette méthode sont décrits comme suit :
c1 : l'objet composant. qui doit être référencé ;
c2 : le bord spécifique de l'objet composant qui doit être référencé ;
e1 : l'objet composant référencé
e2 : l'objet spécifique ; bord de l'objet composant référencé Côté de référence ;
pad : la distance entre deux côtés, c'est-à-dire l'espacement entre deux composants.
C’est un peu compliqué, mais c’est en fait facile à comprendre.
Exemple 1 : Utilisation du gestionnaire de mise en page Spring.
Cet exemple utilise le gestionnaire de mise en page Spring pour implémenter le formulaire. Après avoir ajusté la taille du formulaire, les composants rempliront toujours tout le formulaire et les positions relatives entre les composants ne changeront pas. Code source :
import java.awt.Container; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.Spring; import javax.swing.SpringLayout; public class SpringLayout_3 extends JFrame { private static final long serialVersionUID = -6045918631932051025L; public SpringLayout_3() { // TODO Auto-generated constructor stub Container container = getContentPane(); SpringLayout springLayout = new SpringLayout(); container.setLayout(springLayout); JLabel topicLabel = new JLabel("主题 :"); JLabel contentLabel = new JLabel("内容 :"); final JTextField textField = new JTextField(30); JTextArea textArea = new JTextArea(3, 30); JScrollPane scrollPane = new JScrollPane(); scrollPane.setViewportView(textArea); textArea.setLineWrap(true); final JButton confirmButton = new JButton("取消"); JButton cancelButton = new JButton("确认"); Spring st = Spring.constant(10); Spring st2 = Spring.constant(30); container.add(topicLabel); springLayout.putConstraint(SpringLayout.NORTH, topicLabel, st, SpringLayout.NORTH, container); springLayout.putConstraint(SpringLayout.WEST, topicLabel, st, SpringLayout.WEST, container); container.add(textField); springLayout.putConstraint(SpringLayout.WEST, textField, st2, SpringLayout.EAST, topicLabel); springLayout.putConstraint(SpringLayout.NORTH, textField, 0, SpringLayout.NORTH, topicLabel); springLayout.putConstraint(SpringLayout.EAST, textField, Spring.minus(st), SpringLayout.EAST, container); container.add(contentLabel); springLayout.putConstraint(SpringLayout.WEST, contentLabel, 0, SpringLayout.WEST, topicLabel); springLayout.putConstraint(SpringLayout.NORTH, contentLabel, st, SpringLayout.SOUTH, topicLabel); container.add(scrollPane); springLayout.putConstraint(SpringLayout.NORTH, scrollPane, 0, SpringLayout.NORTH, contentLabel); springLayout.putConstraint(SpringLayout.WEST, scrollPane, 0, SpringLayout.WEST, textField); springLayout.putConstraint(SpringLayout.EAST, scrollPane, Spring.minus(st), SpringLayout.EAST, container); container.add(confirmButton); springLayout.putConstraint(SpringLayout.SOUTH, scrollPane, Spring.minus(st), SpringLayout.NORTH, confirmButton); springLayout.putConstraint(SpringLayout.EAST, confirmButton, Spring.minus(st), SpringLayout.EAST, container); springLayout.putConstraint(SpringLayout.SOUTH, confirmButton, Spring.minus(st), SpringLayout.SOUTH, container); container.add(cancelButton); springLayout.putConstraint(SpringLayout.EAST, cancelButton, Spring.minus(st), SpringLayout.WEST, confirmButton); springLayout.putConstraint(SpringLayout.NORTH, cancelButton, 0, SpringLayout.NORTH, confirmButton); // make the text field focused every time the window is activated addWindowFocusListener(new WindowAdapter() { @Override public void windowGainedFocus(WindowEvent e) { // TODO Auto-generated method stub textField.requestFocus(); } }); } public static void main(String[] args) { // TODO Auto-generated method stub SpringLayout_3 frame = new SpringLayout_3(); frame.setTitle("使用弹簧布局管理器"); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(100, 100, 600, 300); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!