あなたは次のように述べています。
計算機を作ろうとしているiam。だから私は番号を保持するためにボックスを使用しています。
私が知っているほとんどの電卓には、現在の数値を表示するための小さなフィールドがありませんが、GUIの上部の幅全体をカバーするテキストコンポーネントがあります。JavaSwingでこれを実現するための鍵は、適切なレイアウトマネージャーとコンポーネントの適切な配置。たとえば、このGUIデザインは、BorderLayoutを使用するコンテナーを使用し、ディスプレイのJTextField(JTextAreaではない)をBorderLayout.PAGE_STARTの位置に配置し、ボタンをメインコンテナーのBorderLayout.CENTERの位置に保持された別のJPanelに配置することで解決できます。
たとえば、ここで私の答えのコードを見てください。次のようなGUIが作成されます 。これは、選択したフォントのサイズに基づいてのみ異なる2つの計算機を示しています。
このためのキーコードは次のとおりです。
textField.setFont(textField.getFont().deriveFont(BTN_FONT_SIZE));
mainPanel.setLayout(new BorderLayout(gap, gap));
mainPanel.setBorder(BorderFactory.createEmptyBorder(gap, gap, gap, gap));
mainPanel.add(textField, BorderLayout.PAGE_START);
mainPanel.add(buttonPanel, BorderLayout.CENTER);