public class a5Frame2 extends JFrame implements KeyListener
{
public a5Frame2()
{
super("TV");
setLocation(450, 75);
setFocusable(true);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel mainPanel = new JPanel(new BorderLayout());
JPanel panel = new JPanel();
this.setLayout(new BorderLayout());
panel.setLayout(new GridBagLayout());
GridBagConstraints gc = new GridBagConstraints();
JLabel channelNumber = new JLabel("hello");
gc.gridx = 0;
gc.gridy = 0;
gc.anchor = GridBagConstraints.NORTHWEST;
gc.insets = new Insets(2, 0, 0, 2);
panel.add(channelNumber, gc);
mainPanel.setBorder(new EmptyBorder(10, 10, 10, 10));
mainPanel.add(panel, BorderLayout.NORTH);
this.add(mainPanel);
this.setVisible(true);
this.addKeyListener(this);
}
}
JLabel hello
В настоящее время находится в верхней части северной части JFrame. Я хочу, чтобы он располагался в верхнем северном левом углу JFrame. Я уверен, что gc.anchor = GridBagConstraints.NORTHWEST;
выполняет эту работу, но в этом случае это не сработало. Кто-нибудь знает, почему это не сработало?Позиционирование JLabel в левом верхнем углу JFrame
Here is an image of my current JFrame
Добавить 'gc.weightx = 1' с вашими ограничениями – MadProgrammer
' this.addKeyListener (это), 'свинг, мы обычно используем [клавиш] (HTTPS: //docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html), а не нижний уровень 'KeyListener'. –