JButtonで取得した配列を使ったプログラムを作りたい
JButtonで数値を入力させ、それを配列に格納し、その配列の要素を分析するプログラムを作りたいと考えています。
今回質問したいこととしては、
①closeボタン以外で、配列が満たされる前に入力部分を終わらせる機能をつける方法(例えば、OKボタンを追加する)
②closeボタンなどで入力が終わった後に、その配列を使ってプログラムを実行する方法(例えば、配列内に含まれてない数字を調べるなど)
の2点です。教えていただければとてもありがたいです。よろしくお願いします。
JButtonで数字を入力させるプログラム
Java
1import java.awt.BorderLayout; 2import java.awt.FlowLayout; 3import java.awt.GridLayout; 4import java.awt.event.ActionEvent; 5import java.awt.event.ActionListener; 6 7import javax.swing.JButton; 8import javax.swing.JFrame; 9import javax.swing.JPanel; 10 11class StreamTest2 extends JFrame implements ActionListener { 12 JButton bt1 = new JButton("1"); 13 JButton bt2 = new JButton("2"); 14 JButton bt3 = new JButton("3"); 15 JButton bt4 = new JButton("4"); 16 JButton bt5 = new JButton("5"); 17 JButton bt6 = new JButton("6"); 18 JButton bt7 = new JButton("7"); 19 JButton bt8 = new JButton("8"); 20 JButton bt9 = new JButton("9"); 21 22 static String[] pattern_array = new String[10]; //パターン格納用配列 23 int n = 0; 24 25 StreamTest2() { 26 getContentPane().setLayout(new GridLayout(1, 2)); 27 28 29 bt1.addActionListener(this); 30 bt2.addActionListener(this); 31 bt3.addActionListener(this); 32 bt4.addActionListener(this); 33 bt5.addActionListener(this); 34 bt6.addActionListener(this); 35 bt7.addActionListener(this); 36 bt8.addActionListener(this); 37 bt9.addActionListener(this); 38 39 40 JPanel p = new JPanel(); 41 42 //setLayout(new GridLayout(3,3)); 43 44 p.setLayout(new FlowLayout(FlowLayout.LEFT, 35, 30)); 45 46 p.add(bt1); 47 p.add(bt2); 48 p.add(bt3); 49 p.add(bt4); 50 p.add(bt5); 51 p.add(bt6); 52 p.add(bt7); 53 p.add(bt8); 54 p.add(bt9); 55 56 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 57 setTitle("title"); 58 setSize(300, 300); 59 setVisible(true); 60 61 getContentPane().add(p, BorderLayout.CENTER); 62 } 63 64 public void actionPerformed(ActionEvent e) { 65 66 if(e.getSource() == bt1) { 67 pattern_array[n] = "1"; 68 System.out.print("1"); 69 n++; 70 } 71 72 else if(e.getSource() == bt2) {//2が入力されたとき------------------------------------------------------------- 73 pattern_array[n] = "2"; 74 System.out.print("2"); 75 n++; 76 } 77 78 else if(e.getSource() == bt3) { //3が入力されたとき------------------------------------------------------------ 79 pattern_array[n] = "3"; 80 System.out.print("3"); 81 n++; 82 } 83 84 else if(e.getSource() == bt4) { //4が入力されたとき------------------------------------------------------------ 85 pattern_array[n] = "4"; 86 System.out.print("4"); 87 n++; 88 } 89 90 else if(e.getSource() == bt5) { //5が入力されたとき------------------------------------------------------------ 91 pattern_array[n] = "5"; 92 System.out.print("5"); 93 n++; 94 } 95 96 else if(e.getSource() == bt6) { //6が入力されたとき------------------------------------------------------------ 97 pattern_array[n] = "6"; 98 System.out.print("6"); 99 n++; 100 } 101 102 else if(e.getSource() == bt7) { //7が入力されたとき------------------------------------------------------------ 103 pattern_array[n] = "7"; 104 System.out.print("7"); 105 n++; 106 } 107 108 else if(e.getSource() == bt8) { //8が入力されたとき------------------------------------------------------------ 109 pattern_array[n] = "8"; 110 System.out.print("8"); 111 n++; 112 } 113 114 else if(e.getSource() == bt9) { //9が入力されたとき------------------------------------------------------------- 115 pattern_array[n] = "9"; 116 System.out.print("9"); 117 n++; 118 } 119 } 120 public static void main(String[] args) { 121 new StreamTest2(); 122 123 System.out.println(pattern_array[9]); 124 } 125} 126
回答1件
あなたの回答
tips
プレビュー