電卓GUI用に2セットのボタンを配置しようとしています。それぞれがGroupLayoutを使用してそれらを作成します。1つは数字(および「。」)で、もう1つは操作ボタン用です。これは基本的には機能しますが、ボタンの1つが2倍の長さである場合(たとえば、操作セットの等しいボタン)、他のボタンがラインから外れます。例として設定された操作を使用します。2列と4行のボタンがあります。最後の行にはボタンが1つだけあります-等しい。この2倍の長さを両方の列にまたがって伸ばしたいと思います。現時点では、2番目の列をその上に配置するときに、2番目の列をその最後に沿ってプッシュするだけです。
レイアウトのコードは次のとおりです。operLayoutは操作のレイアウトの名前で、最初の行は左角かっこ、右角かっこ、2番目の行は+と-、3番目の行は*と/で、最後の行は同じです。各ボタンには、他の場所で最小サイズが設定されています(equalsが2倍の長さであることを除いて、すべて同じです)。
operLayout.setAutoCreateGaps(true);
operLayout.setAutoCreateContainerGaps(true);
operLayout.setVerticalGroup(operLayout
.createSequentialGroup()
.addGroup(
operLayout.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(leftBracket)
.addComponent(rightBracket))
.addGroup(operLayout.createParallelGroup().addComponent(add).addComponent(subtract))
.addGroup(operLayout.createParallelGroup().addComponent(multiply).addComponent(divide))
.addGroup(operLayout.createParallelGroup().addComponent(equals)));
operLayout.setHorizontalGroup(operLayout
.createSequentialGroup()
.addGroup(
operLayout.createParallelGroup().addComponent(leftBracket).addComponent(add)
.addComponent(multiply).addComponent(equals))
.addGroup(
operLayout.createParallelGroup().addComponent(rightBracket).addComponent(subtract)
.addComponent(divide)));
なぜこれが起こっているのかは理解していますが、それをどのように整理するのかわかりません。簡単な方法はありますか?それとも私はそれをしている方法を変えるべきですか?ありがとう