Bonjour,
Je voudrais démarrer mon frame en pleine écran prenant en compte l'image de mon arrière plan mais je n'arrive pas à le faire.
Pouvez vous m'aidé svp?
Merci
Version imprimable
Bonjour,
Je voudrais démarrer mon frame en pleine écran prenant en compte l'image de mon arrière plan mais je n'arrive pas à le faire.
Pouvez vous m'aidé svp?
Merci
Salut,
Quel est le code ?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Accueil window = new Accueil(); window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the application. */ public Accueil() { initialize(); } /** * Initialize the contents of the frame. */ private void initialize() { frame = new JFrame(); frame.setBounds(100, 100, 1165, 680); frame.setResizable(false); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.getContentPane().setLayout(null); usernamefield = new JTextField(); usernamefield.setForeground(Color.GRAY); usernamefield.setFont(new Font("Arial", Font.BOLD, 14)); usernamefield.setColumns(10); usernamefield.setBounds(463, 273, 350, 35); frame.getContentPane().add(usernamefield); passwordfield = new JPasswordField(); passwordfield.setForeground(Color.GRAY); passwordfield.setFont(new Font("Arial", Font.BOLD, 14)); passwordfield.setBounds(463, 333, 350, 35); frame.getContentPane().add(passwordfield); lblNewLabel_1 = new JLabel("Forgot password ?"); lblNewLabel_1.setForeground(UIManager.getColor("Button.darkShadow")); lblNewLabel_1.setFont(new Font("Arial", Font.PLAIN, 11)); lblNewLabel_1.setBounds(715, 371, 93, 14); frame.getContentPane().add(lblNewLabel_1); btnNewButton = new JButton(""); btnNewButton.setIcon(new ImageIcon("C:\\Users\\admin\\workspace\\Myfile\\images\\login_btn.PNG")); btnNewButton.setBounds(463, 404, 350, 35); frame.getContentPane().add(btnNewButton); JLabel lblNewLabel = new JLabel(""); lblNewLabel.setIcon(new ImageIcon("C:\\Users\\admin\\workspace\\Myfile\\images\\home_bg.jpg")); lblNewLabel.setBounds(0, 0, 1149, 642); frame.getContentPane().add(lblNewLabel); } }
Si tu veux une fenêtre qui soit grande comme l'écran, tu peux relever la taille de l'écran et l'affecter :
Tu peux même faire, si tu veux que la fenêtre soit à 100 pixels du bord :Code:
1
2
3
4
5 frame = new JFrame(); Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); frame.setBounds(0, 0, dim.width, dim.height); //frame.setBounds(100, 100, 1165, 680); frame.setResizable(false);
Si tu veux vraiment une fenêtre dite plein écran, sans décoration, tu peux faire :Code:
1
2
3
4
5 frame = new JFrame(); Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); frame.setBounds(100, 100, dim.width-200, dim.height-200); //frame.setBounds(100, 100, 1165, 680); frame.setResizable(false);
Attention, le frame.setUndecorated(true) doit être fait absolument avant le frame.setVisible(true).Code:
1
2
3
4 frame = new JFrame(); frame.setExtendedState(JFrame.MAXIMIZED_BOTH); frame.setUndecorated(true); frame.setResizable(false);
Merci pour votre réponse, Le premier code est ce que je cherche, mais il cache même la barre de tâche Windows.
J'ai ajouté -20 mais est ce qu'il y a une méthode pour diminuer la distance de la barre de tache automatiquement?Code:
1
2
3
4
5 frame = new JFrame(); Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); frame.setBounds(0, 0, dim.width, (dim.height)-20); //frame.setBounds(100, 100, 1165, 680); frame.setResizable(false);
Et comment j'adapte le contenu de la frame avec ce dimention automatiquement?
merci
Tu peux faire :
Mais ça ne fonctionne que si la barre ne se masque pas automatiquement, et uniquement par rapport à l'état actuel de la barre. Si la barre change de taille ou d'emplacement, la fenêtre ne se redimensionnera pas évidemment, et il n'est pas possible directement en Java de détecter ces changements pour redimensionner éventuellement la fenêtre.Code:
1
2
3 Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle winSize = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds(); frame.setBounds(0, 0, dim.width, winSize.height);
Daccord merci beaucoup.