GUIで作業していて、すべてが正しく表示されていますが、ボタンを押したときに変数の値を変更するのに問題があります。変数はpassoverと呼ばれ、0引数のコンストラクタで1997の値に初期化されるプライベートintで、押されたときにpassoverの値を変更する必要がある3つのボタンがあります。ActionListenerで変数を変更する際に問題が発生しました
過ぎ越しのためのコード:ボタンの
panel.setBorder(
BorderFactory.createEmptyBorder(0, 0, 0, 0));
panel.setLayout(new BorderLayout(0, 0));
JPanel topPanel = getPanel();
topPanel.setLayout(new GridBagLayout());
topPanel.setBackground(new Color(173, 216, 230));
JLabel moveLabel = getLabel("Move Data");
moveLabel.setFont(new Font("Serif", Font.PLAIN, 20));
addComp(topPanel, moveLabel, 0, 0, 1, 1, 0.5, 0.2,
GridBagConstraints.HORIZONTAL, GridBagConstraints.NORTHEAST);
JLabel passoverLabel = getLabel(" Passover : " + passover);
passoverLabel.setFont(new Font("Serif", Font.PLAIN, 20));
addComp(topPanel, passoverLabel, 1, 0, 1, 1, 0.5, 0.2,
GridBagConstraints.HORIZONTAL, GridBagConstraints.CENTER);
コード:
JPanel bottomRightPanel = getPanel();
bottomRightPanel.setBorder(
BorderFactory.createEmptyBorder(GAP, GAP, GAP, GAP));
bottomRightPanel.setLayout(new GridBagLayout());
bottomRightPanel.setBackground(new Color(255, 105, 180));
JPanel passoverButtonPanel = getPanel();
passoverButtonPanel.setBackground(new Color(255, 105, 180));
passoverButtonPanel.setLayout(new BoxLayout(passoverButtonPanel, BoxLayout.Y_AXIS));
nextPassoverButton = new JButton("Next Passover");
goToPassoverButton = new JButton("Go To Passover: ");
previousPassoverButton = new JButton("Previous Passover");
JLabel filler = getLabel(" ");
goToField = new JTextField(6);
goToField.setPreferredSize(new Dimension(5, 30));
theHandler handler = new theHandler();
nextPassoverButton.addActionListener(handler);
goToPassoverButton.addActionListener(handler);
previousPassoverButton.addActionListener(handler);
goToField.addActionListener(handler);
私はnextPassoverButtonが押されたときに過越の値が1を上昇させたい、previousPassoverButtonが押されたときに1を低下させ、そしてgoToPassoverButtonが押されたときにユーザーがgoToFieldに入力した値に変更されます。私はゲッターとセッターを使用する必要があると思いますが、私は、私はそれを行うだろうか見当がつかないので
public class theHandler extends MyDataPalV2 implements ActionListener{
public void actionPerformed(ActionEvent event)
{
if (event.getSource() == goToField)
{
this.passover = Integer.parseInt(String.format("%s", event.getActionCommand()));
}
if (event.getSource() == nextPassoverButton)
{
this.passover++;
}
if (event.getSource() == previousPassoverButton)
{
this.passover--;
}
}
}
エラーがプライベートアクセスエラーです:よう
私のActionListenerクラスが見えます。おそらく、これを行うための完全な別の方法がありますか?
私の投稿に間違いがあれば、これは初めての投稿です。
[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 –