gpt4 book ai didi

java - 使用 GridBagLayout 将 JButton 设置在 TextArea 下方

转载 作者:行者123 更新时间:2023-12-02 06:23:16 24 4
gpt4 key购买 nike

我有一个 TabbedPane,其中有面板。我现在正在处理第一个面板。在这个面板内,左侧应该有另一个小面板(我只是放置了一个文本字段以供引用),中间有一个文本区域,下面有一排按钮。但按钮放置在文本区域下方太低的位置。此外,如果我调整框架大小,文本区域就会消失。文本字段设置正确,左上角,文本区域或多或少位于中心,但在调整大小时它不应该消失(这会给用户带来奇怪的效果)。

我已经尝试了向南、向西等所有变体,没有任何变化,或者无论如何它都会上升太多。

我读过一些类似的问题,但我不明白他们的答案如何解决我的问题。

所以,这是代码:

super("Proyecto");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(1200, 800);

/* 1. CREATE PANEL*/

/*MAIN PANEL BOOK READER*/
JPanel panelbookreader = new JPanel();

/*CREATE TEXTAREA*/
JTextArea areatextobookreader = new JTextArea(20, 80);
/* 2. ADD THAT COMPONENT TO ITS PARENT*/

panelbookreader.add(areatextobookreader);

/* 3. SET A LAYOUT FOR THE PANEL THAT WILL ORGANIZE COMPONENTS INSIDE*/
panelbookreader.setLayout(new GridBagLayout());


GridBagConstraints gbc = new GridBagConstraints();

JTextField hold = new JTextField(20);
gbc.gridx = 0;
gbc.gridy = 0;
gbc.gridwidth = 1;
gbc.gridheight = 1;
panelbookreader.add(hold, gbc);

//TEXT AREA
gbc.gridx = 1;
gbc.gridy = 1;
gbc.gridwidth = 0;
gbc.gridheight = 1;
gbc.fill = GridBagConstraints.CENTER;
gbc.weightx = 1.0;
gbc.weighty = 1.0;
panelbookreader.add(areatextobookreader, gbc);

//BUTTONS
gbc.gridx = 1;
gbc.gridy = 2;
gbc.gridwidth = 1;
gbc.gridheight = 1;
gbc.fill = GridBagConstraints.SOUTH;
gbc.weightx = 0.0;
gbc.weighty = 0.0;
panelbookreader.add(openbook, gbc);


/*ADD THE PARENT TO ITS PARENT OR TO GRANPARENT OF COMPONENT*/

JTabbedPane tabulado = new JTabbedPane();
tabulado.addTab("BOOK READER",panelbookreader);

最佳答案

您的 JTextArea 的 weightx1.0 ,这很好。但是,当您将 weighty 也指定为 1.0 时,则没有空间用于 JButton。对 textarea 的权重进行一些更改,并为 jbutton 指定 weighty

关于java - 使用 GridBagLayout 将 JButton 设置在 TextArea 下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20813827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com