
ボタンをクリック後にstaticで保持していた値にプラス1して
その値をパネルに再描画したいと思っています。
下記のプログラムだとボタンをクリックすると
(<1<2<3<4)となって画像と数字が増えてしまいます
行いたいのは数字の部分だけが再描画されて
カウントされて<3と表示されるだけになってもらいたい
クラス1つ目
import java.awt.BorderLayout;
import java.awt.Cursor;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Sample extends JFrame{
static int value=1;
JPanel work = new JPanel();
public static void main(String[] args) {
Sample frame = new Sample();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100, 200, 200, 100);
frame.add(frame.createPanel(), BorderLayout.LINE_END);
frame.setVisible(true);
}
public JPanel createPanel() {
ImageIcon icon = new ImageIcon("./img/left.gif");
JLabel label = new JLabel();
Cursor c = new Cursor(Cursor.HAND_CURSOR);
label.setCursor(c);
label.setIcon(icon);
JLabel strLabel = new JLabel();
String str = Integer.toString(value);
strLabel.setText(str);
work.add(label);
work.add(strLabel);
label.addMouseListener(new myListener());
return work;
}
class myListener extends MouseAdapter{
public void mouseClicked(MouseEvent e){
System.out.print(Sample.value++);
createPanel().repaint();
setVisible(true);
}
}
}
クラス2つ目
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class MouseAdapter implements MouseListener{
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TextAreaでの文字の色
-
java junit list同士の比較方法
-
Enterキーでボタンを押すにはど...
-
エラーで式の開始が不正ですと...
-
C言語のポインターに関する警告
-
System.err. printlnとSystem.o...
-
JavaScriptの変数をjavaのメソ...
-
ORA-01858: 数値を指定する箇所...
-
VBAで配列の計算
-
javaで質問です。 文字列2023/2...
-
JScrollPaneで、表示がおかしく...
-
JavaScriptを使ってロト6の当...
-
streamで送信されたArrayListを...
-
JavaScriptとVBScriptに関して
-
IF関数でEmpty値を設定する方法。
-
動的配列が存在(要素が有る)か...
-
ループ処理の際、最後だけ","を...
-
オブジェクトの中のプロパティ...
-
1~100までの数字を表示したい
-
matchesを否定文として使う方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Buttonを押すと画像が表示され...
-
setPrefferedSizeとsetSize
-
javaで文字数制限するには?
-
JPanelの切り替えと再描画
-
java junit list同士の比較方法
-
SwingのJMenuに大量のJMenuItem...
-
JDialogを閉じた時の処理
-
JFrameとJPanelの最大化について
-
KeyListenerの使い方について
-
最後の行に移動するには?
-
JTable の 列幅を個別に設定す...
-
TextAreaでの文字の色
-
cadで作った図面をフレーム上で...
-
JTableの列ヘッダ
-
4択クイズでのランダム出題の...
-
JPanelの重ね方/OverlayLayout他
-
Enterキーでボタンを押すにはど...
-
Swing自作コンポーネントをadd...
-
Java-Swing TextAreaにスクロー...
-
キーボードから入力された全角...
おすすめ情報