Проблема макета границы Java?
-
08-10-2019 - |
Вопрос
Это моя программа. Я хочу иметь кнопку на северной стороне рамы, но когда я пытаюсь использовать макет границы, дает ошибку, определенную в этой строке.
import java.awt.BorderLayout;
import java.awt.Component;
import javax.swing.*;
public class testt {
static JFrame jj=new JFrame("Test frame");
public static void main (String[] args){
jj.setBounds(100, 200, 400, 300);
jj.setVisible(true);
jj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jj.add(new JButton("North",BorderLayout.NORTH)); //The constructor JButton(String, String) is undefined
}
}
Решение
jj.add(new JButton("North"), BorderLayout.NORTH);
У вас были ограничение по границейлению в качестве параметра для конструктора, он должен быть параметром для add()
как указано выше.
Другие советы
Вы должны изменить:
jj.add(new JButton("North",BorderLayout.NORTH));
... к:
jj.add(new JButton("North"),BorderLayout.NORTH);
Вы просто упорно используете пересмотреть свой код, как
public static void main(String[] args) {
JFrame jj = new JFrame("Test frame");
jj.setBounds(100, 200, 400, 300);
jj.setVisible(true);
jj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jj.add(new JButton("North"),BorderLayout.NORTH);
//jj.add("North", )); // The constructor
// JButton(String,
// String) is
// undefined
}
Вот исправленный код. Попробуйте это и посмотрите, что было не так. В случае любого запроса, не стесняйтесь спрашивать,
Импорт Java.awt.borderlayout; Импорт Java.awt.component; Импортировать javax.swing. *;
Открытый класс Testt {
static JFrame jj = new JFrame("Test frame");
public static void main (String[] args) {
jj.setBounds(100, 200, 400, 300);
jj.setVisible(true);
jj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jj.add(new JButton("My JButton"), "North");
}
}
Не связан с StackOverflow