2017-10-11 3 views
0

Dans mon projet si l'utilisateur redimensionne le cadre ou a une résolution d'écran inférieure alors le JPanel contenant toutes les informations sera plus grand que le JFrame.Ajout de JScrollpane où JPanel est plus grand que JFrame

A titre de code exemple:

import java.awt.Color; 

import javax.swing.JFrame; 
import javax.swing.JPanel; 

public class scroll{ 

    public static void main(String[] args) { 
     JFrame frame = new JFrame("Example"); 
     frame.setSize(500, 500); 
     frame.setLayout(null); 

     JPanel panel = new JPanel(); 
     panel.setBackground(Color.BLACK); 
     panel.setBounds(5, 5, 450, 600); 

     frame.add(panel); 

     frame.setVisible(true); 
     frame.setLocationRelativeTo(null); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 

} 

Quelqu'un peut-il expliquer gentiment comment ajouter un JScrollPane pour cela, ont regard sur semblent ici et le web plus large, mais ne peut pas trouver une réponse ou tutoriel pour cela.

+0

peut-être vous devriez utiliser frame.setContentPane (panneau), non seulement frame.add (panneau) – Hejun

+0

@Hejun: 'JFrame :: add' transmet au volet contenu. – trashgod

+0

@mainsworth: N'utilisez pas de disposition null. – trashgod

Répondre

1

J'espère que cela donnera à votre réponse:

import java.awt.*; 

import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 

public class panel{ 

    public static void main(String[] args) { 
     JFrame frame = new JFrame("Example"); 
     frame.setSize(500, 500); 

     JPanel panel = new JPanel(); 
     panel.setBackground(Color.BLACK); 
     panel.setPreferredSize(new Dimension(450,600)); 

     JScrollPane scrollPane = new JScrollPane(panel); 

     frame.setContentPane(scrollPane); 

     frame.setVisible(true); 
     frame.setLocationRelativeTo(null); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 
} 
+1

Mais pourquoi répondriez-vous au travail quand le PO ne l'a pas fait (oui je sais), mais plutôt donner un PO à l'OP, peut-être que vous voudriez lui apprendre à pêcher – MadProgrammer

+0

Ok je considère votre point. Je ne donne jamais de réponse d'abord –

+0

Merci Ganesh, vraiment utile pour visualiser les changements, java n'est pas le langage de programmation le plus intuitif. –