私は Java と Swing GUI で最初の一歩を踏み出しました。私の計画は、いくつかのテキストと 2 つのタブ付き JPanel を埋めるための JTextArea を備えた小さな GUI を作成することです。しかし、問題は、JTextArea にテキストを入力して [Includes] タブ (または別の [Functions] タブ) をクリックすると、タブメニューのサイズが変更されることです (固定の 50:50 ビューが必要です)。
理解を深めるために、いくつかの写真を次に示します。
Javaコードは次のとおりです。
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
public class Editor extends JFrame {
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
Editor editor = new Editor();
}
private JTextArea guiEdit = new JTextArea();
private JScrollPane utilScrollbar = new JScrollPane(guiEdit);
private JTabbedPane guiOverviewTabPanel = new JTabbedPane();
private JPanel guiOverviewTabIncludes = new JPanel();
private JPanel guiOverviewTabFunctions = new JPanel();
public Editor() {
// Set layout
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setLayout(gridbag);
// Add the textfield
c.fill = GridBagConstraints.BOTH;
c.gridx = 0;
c.gridy = 0;
c.gridheight = 1;
c.weightx = 1.0;
c.weighty = 1.0;
c.anchor = GridBagConstraints.WEST;
add(utilScrollbar, c);
// Add tabs to the JTabbedPane
guiOverviewTabPanel.add("Includes", guiOverviewTabIncludes);
guiOverviewTabPanel.add("Functions", guiOverviewTabFunctions);
// Add the JTabbedPane
c.fill = GridBagConstraints.BOTH;
c.gridx = 1;
c.gridy = 0;
c.gridheight = 1;
c.weightx = 1.0;
c.weighty = 1.0;
c.anchor = GridBagConstraints.EAST;
add(guiOverviewTabPanel, c);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH);
this.setMinimumSize(new Dimension(800, 400));
setVisible(true);
}
}
この視点を修正する方法/解決策を知っている人はいますか? 実際の比率は 5:2 です (JTextArea の 5 部分と JTabbedPane の 2 部分 - これは理解を深めるためのものなので、GridLayout は使用できません)