Проблема с изменением размера JButton внутри JxBrowser JFrame - PullRequest
0 голосов
/ 16 мая 2019

Так что я использую JxBrowser и добавил его в JFrame.Теперь я хочу добавить несколько кнопок в правую часть браузера, но не имеет значения, что я пытаюсь (test1.setSize или test1.setPreferredSize и т. Д., Размер не меняется).

Изображение проблемы

Красные прямоугольники на этих рисунках являются примерами размера кнопок J, которые я хочу на правой стороне JFrame.Почему JButton остается таким большим?

вот код:

    public test() {
    test1 = new JButton("test");
    test1.addActionListener(this);
    browser = new Browser();
    view = new BrowserView(browser);

    JFrame frame = new JFrame("FOEBot - Gemaakt door Gerrit");
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.add(view, BorderLayout.CENTER);
    frame.add(test1, BorderLayout.AFTER_LINE_ENDS);
    frame.setSize(1500, 1000);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);

    browser.loadURL("https://www.google.nl/");
}

Пожалуйста, помогите мне.

1 Ответ

1 голос
/ 16 мая 2019

Вы действительно должны взглянуть на документацию Layout .

Вот вам пример, как я решил вашу проблему. Я положил JButtons в другой контейнер, который используется как BoxLayout:

public static void main(String[] args) {
    JPanel mainContainer = new JPanel();
    mainContainer.setLayout(new BorderLayout());

    JFrame jf = new JFrame();  
    jf.add(mainContainer);

    JPanel browser = new JPanel();
    JLabel browserDummy = new JLabel("Browser");
    browser.add(browserDummy);
    browserDummy.setFont(new Font("Arial", Font.BOLD, 200));

    JPanel buttonContainer = new JPanel();
    buttonContainer.setLayout(new BoxLayout(buttonContainer, BoxLayout.Y_AXIS));
    buttonContainer.add(new JButton("Button one"));
    buttonContainer.add(new JButton("Button two"));

    mainContainer.add(browser, BorderLayout.WEST);
    mainContainer.add(buttonContainer, BorderLayout.EAST);

    jf.setVisible(true);
    jf.pack();
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

Я никогда ничего не делал с программированием браузера на Swing, поэтому я просто использовал несколько макетов, но принцип должен быть таким же.

Результат: enter image description here

...