我有一个TabbedPane,其中有Panels。 我正在处理第一个小组。 在这个面板里面左边应该有另一个小面板(我只是放置一个文本字段而不是参考)一个textarea在中心,下面是一排按钮。但是按钮放置在距离文本区域太低的位置。此外,如果我调整框架的大小,textarea就会消失,消失。文本字段设置正常,左上角,textarea在中心或多或少是,但在调整大小时它不会消失(这会对用户产生奇怪的效果)。
我已经尝试了所有变体南,西,无论如何,没有变化,或者反正过程太过分了。
我读过一些类似的问题,但我看不出他们的答案如何解决我的问题。
所以,这是代码:
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);
答案 0 :(得分:2)
您对JTextArea的weightx
是1.0
,这很好。
但是,如果您将weighty
指定为1.0
,则JButton
没有空格。对textarea
的重量进行一些更改,并为weighty
指定jbutton
。