高さが増減するJScrollPane
を含むを作成しようとしています。JPanel
のサイズよりも大きくなるとJScrollPane
、全体をスクロールできる垂直スクロール バーが作成されますJPanel
。しかし、私はこれを達成するのに苦労しています。はい、LayoutManager
s を使用していないことはわかっています。いいえ、私はそれらを使用しません。それらの使用を伴わない解決策が必要です。
AbstractAction
に加算および減算する2 つのボタンを次に示しますJPanel
。
class AddACT extends AbstractAction
{
public void actionPerformed(ActionEvent e)
{
info.setSize(420,info.getHeight() + 40);
info.add(new SubPanel); // Adds another JPanel into the main JPanel (for content input)
gui.repaint();
infoS.validate();
}
}
class RemoveACT extends AbstractAction
{
public void actionPerformed(ActionEvent e)
{
info.remove(subPanel()); // This would remove the last JPanel added to the main JPanel
info.setSize(420,info.getHeight() - 40);
gui.repaint();
infoS.validate();
}
メインの JPanel と JScrollPane のコードは次のとおりです。
final JPanel info = new JPanel();
final JScrollPane infoS = new JScrollPane(info, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
info.setLayout(null);
info.setSize(420,600);
infoS.setLocation(10,80);
infoS.setSize(420,490);
gui.add(infoS); // gui is the frame's content pane (the overall JPanel)
これは、私が GUI を学ぼうとしている 2 番目のプロジェクトです。私は Swing の完全な初心者であり、Java は中級者です。私が盲目的に明らかな間違いを犯している場合は申し訳ありません。