###JLabelとJButtonを使用して,ボタンが押された回数を表示させたい
Javaでボタンを表示させボタンをクリックすると押された回数を表示する機能を追加したいです。
エラーは出ないのですがコンソールに回数が出て、コンポーネントに出ません。
Java
1どのようなメソッドを使えばよいかも分からないです 2 3```Java 4import java.awt.Color; 5import java.awt.Container; 6import java.awt.event.ActionEvent; 7import java.awt.event.ActionListener; 8 9import javax.swing.BoxLayout; 10import javax.swing.JButton; 11import javax.swing.JFrame; 12import javax.swing.JLabel; 13import javax.swing.JPanel; 14 15//---Mainクラス-------------------------------------------------------------------------------- 16public class Main { 17 private void start(String[] args) { 18 javax.swing.SwingUtilities.invokeLater(new Runnable() { 19 int count = 0; 20 int count2 = 0; 21 int count3 = 0; 22 23 public void run() { 24 JFrame frame = new JFrame("Title"); 25 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 26 Container con = frame.getContentPane(); 27 28 con.setLayout(new BoxLayout(con, BoxLayout.Y_AXIS)); 29 30 { // Label--ラベルの表示----------------------------------------- 31 JLabel l = new JLabel();ここに質問の内容を詳しく書いてください。 32 l.setText("Label1 FOO"); 33 l.setForeground(Color.RED);//赤 34 con.add(l); 35 } 36 37 { // Button--ボタンの表示------------------------------------- 38 JButton b = new JButton("JButton1"); 39 JButton b2 = new JButton("JButton2"); 40 JButton b3 = new JButton("JButton3"); 41 42 // b.setText("<html><ol><li>FOO</li><li>BAR</li></ol></html>"); 43 b.setAlignmentX(0.5f); 44 b.setAlignmentY(0.0f); 45 46 b2.setAlignmentX(0.0f); 47 b2.setAlignmentY(1.0f); 48 49 b3.setAlignmentX(1.0f); 50 b3.setAlignmentY(1.0f); 51 52 53 //b.setForeground(Color.GREEN);//緑 54 b.addActionListener(new ActionListener() { 55 @Override 56 57 public void actionPerformed(ActionEvent e) {//ボタンが押された時のアクション 58 count++; 59 System.out.println(count); 60 return; 61 } 62 }); 63 64 b2.addActionListener(new ActionListener() { 65 @Override 66 67 public void actionPerformed(ActionEvent e) {//ボタンが押された時のアクション 68 count2++; 69 System.out.println(" " + count2); 70 return; 71 } 72 }); 73 74 b3.addActionListener(new ActionListener() { 75 @Override 76 77 public void actionPerformed(ActionEvent e) {//ボタンが押された時のアクション 78 count3++; 79 System.out.println(" " + count3); 80 return; 81 } 82 }); 83 84 85 86 87 con.add(b); 88 con.add(b2); 89 con.add(b3); 90 } 91 92 // Panel 93 JPanel panel = new JPanel(); 94 panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS)); 95 con.add(panel); 96 97 { // Label 98 JLabel l = new JLabel(); 99 l.setText("Label2"); 100 l.setForeground(Color.BLUE); 101 panel.add(l); 102 } 103 104 { // Label 105 JLabel l = new JLabel(); 106 l.setText("Label3"); 107 panel.add(l); 108 } 109 110 frame.pack(); 111 frame.setVisible(true); 112 } 113 }); 114 } 115 116 //-----Mainクラスを走らせる------------------------------------------------------------------- 117 public static void main(String[] args) { 118 Main main = new Main(); 119 main.start(args); 120 } 121}
試したこと
コンソールに表示させることしかできませんでした
回答1件
あなたの回答
tips
プレビュー