2016-10-06 6 views
0

Ich arbeite gerade an einem Projekt, und ich versuche, mein Label an einem bestimmten Ort zu setzen, so sieht mein Code derzeit aus;Einen bestimmten Speicherort für ein Label in Java festlegen

import javax.swing.*; 
import java.awt.*; 

public class First extends JFrame 
{ 
    private JLabel label; 
    private JTextField textfield; 

     JLabel ZKey; 
    public First() 
    { 
     ZKey=new JLabel("ZKey"); 
     ZKey.setLayout(null); 
     ZKey.setLocation(55, 55); 
     add(ZKey); 
    } 

public static void main (String args[]) 
{ 
    First gui = new First(); 
    gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    gui.setSize(500,500); 
    gui.setVisible(true); 
    gui.setTitle("Keep Track Of What You Press"); 
} 
} 

Ich fühle mich, als ob ich etwas ziemlich dummes vermisse.

+1

Was genau macht es falsch? –

+0

Es tut mir leid, im Grunde platziert es das Label in der Mitte ganz links, ich kann nicht scheinen, es irgendwo anders zu bekommen. –

+0

Probieren Sie pack() auf GUI, nach dem Hinzufügen der JLabel und vor der Einstellung GUI sichtbar. Wie auch immer, in den meisten Fällen wollen Sie kein Null-Layout, sondern eine Art Layout-Manager – Valjean

Antwort

0

Verwenden Sie ein JPanel, fügen Sie das JLabel zum Panel hinzu, fügen Sie das Panel zum JFrame hinzu. Etikett erscheint oben und zentriert jetzt:

import javax.swing.*; 
import java.awt.*; 

public class First extends JFrame 
{ 
    private JLabel label; 
    private JTextField textfield; 

     JLabel ZKey; 
     JPanel panel; 
    public First() 
    { 
     panel=new JPanel(); 
     ZKey=new JLabel("ZKey"); 
     ZKey.setLayout(null); 
     ZKey.setLocation(55, 55); 
     panel.add(ZKey); 
     add(panel); 
    } 

public static void main (String args[]) 
{ 
    First gui = new First(); 
    //gui.setLayout(null); 
    gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    gui.setSize(500,500); 
    gui.setVisible(true); 
    gui.setTitle("Keep Track Of What You Press"); 
} 
} 
Verwandte Themen