質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

1回答

809閲覧

ボタンを押した回数をカウントし、ボタンを押すとその結果がコンソールで表示出来るようにしたい。(バグ?もあるのでそこもご教授下さい)

kazuman1

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2022/07/11 16:46

閲覧頂きありがとうございます。初心者なので説明が下手ですがご了承ください。
javaのエクリプスで簡単に選挙投票のGUI開発をしているのですが、ボタンを押したところをカウントし、「投票結果を確認する」というボタンを押すと、エクリプスのコンソールで各党何票入ったかを表示したいのですが、調べてもいまいちわからないので、ご教授頂けたらと思います。
また、実行を開始すると、なぜかボタンが消えることがあります。カーソルを消えた部分に持っていくと元に戻るのですが、原因がわかりません。これに関しても何かご教授頂けたら幸いです。

import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class Senkyo extends JFrame implements ActionListener{ JButton btn1; JButton btn2; JButton btn3; JButton btn4; JButton btn5; JButton btn6; JButton btn7; JButton btn8; JButton btn9; JButton btn10; JButton btn11; JButton btn12; JButton btn13; JButton btn14; JPanel panel; public Senkyo() { JFrame f = new JFrame("参議院選挙"); JLabel JL1,JL2; JL1 = new JLabel("参議院選挙"); JL1.setBounds(400,1,300,500); JL1.setFont(new Font(Font.DIALOG_INPUT, Font.BOLD, 50)); JL2 = new JLabel("自分が投票したい党のボタンを押してください"); JL2.setBounds(300,300,1000,30); JL2.setFont(new Font(Font.DIALOG_INPUT, Font.BOLD, 20)); f.add(JL1); f.add(JL2); f.setSize(1000,900); f.setLayout(null); f.setVisible(true); //投票確認ボタン btn1 = new JButton("投票結果を確認する"); btn1.setBounds(400, 550, 200, 200); btn1.addActionListener(this); //幸福実現党 btn2 = new JButton("幸福実現党"); btn2.setBounds(300, 400, 100, 30); btn2.addActionListener(this); //日本維新の会 btn3 = new JButton("日本維新の会"); btn3.setBounds(20,450, 150, 30); btn3.addActionListener(this); //れいわ新選組 btn4 = new JButton("れいわ新選組"); btn4.setBounds(700, 450, 120, 30); btn4.addActionListener(this); //公明党 btn5 = new JButton("公明党"); btn5.setBounds(600, 450, 80, 30); btn5.addActionListener(this); //ごぼうの党 btn6 = new JButton("ごぼうの党"); btn6.setBounds(850, 400, 120, 30); btn6.addActionListener(this); //立憲民主党 btn7 = new JButton("立憲民主党"); btn7.setBounds(450, 450, 120, 30); btn7.addActionListener(this); //国民民主党 btn8 = new JButton("国民民主党"); btn8.setBounds(700, 400, 120, 30); btn8.addActionListener(this); //参政党 btn9 = new JButton("参政党"); btn9.setBounds(350, 450, 80, 30); btn9.addActionListener(this); //日本第一党 btn10 = new JButton("日本第一党"); btn10.setBounds(200, 450, 120, 30); btn10.addActionListener(this); //日本共産党 btn11 = new JButton("日本共産党"); btn11.setBounds(420, 400, 120, 30); btn2.addActionListener(this); //新党くにもり btn12 = new JButton("新党くにもり"); btn12.setBounds(550, 400, 120, 30); btn12.addActionListener(this); //自由民主党 btn13 = new JButton("自由民主党"); btn13.setBounds(200, 550, 80, 30); btn13.addActionListener(this); //社会民主党 btn13 = new JButton("社会民主党"); btn13.setBounds(100, 500, 80, 30); btn13.addActionListener(this); //NHK党 btn13 = new JButton("NHK党"); btn13.setBounds(20, 400, 80, 30); btn13.addActionListener(this); //維新政党・新風 btn14 = new JButton("維新政党・新風"); btn14.setBounds(120, 400, 150, 30); btn14.addActionListener(this); f.add(btn1); f.add(btn2); f.add(btn3); f.add(btn4); f.add(btn5); f.add(btn6); f.add(btn7); f.add(btn8); f.add(btn9); f.add(btn10); f.add(btn11); f.add(btn12); f.add(btn13); f.add(btn14); add(f); f.setLayout(null); setVisible(true); } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazuman1

2022/07/11 16:55

ボタンが表示されない件についてでですが、JFrameのコードを各党のボタンの後に置いたら表示されないことがなくなりました。
kazuman1

2022/07/11 16:56

しかし、なぜかもう一つ何もないウインドウが出るようになってしまいました…
y_waiwai

2022/07/11 22:06

コードは一部分だけじゃなく全部提示しましょう。
guest

回答1

0

各党何票入ったかを表示したいのですが、調べてもいまいちわからない

HashMapかなんかを使うといいと思います。
HashMap (Java Platform SE 8 )

また、実行を開始すると、なぜかボタンが消えることがあります。

こちらでは現象を確認できませんでしたが、JFrameの中にJFrameを入れているせいかもしれません。
Senkyo自体がJFrameSenkyo extends JFrame)ですから、JFrame f = new JFrame()とする必要はありません。

Java

1import javax.swing.*; 2import java.awt.*; 3import java.awt.event.ActionEvent; 4import java.awt.event.ActionListener; 5import java.util.HashMap; 6import java.util.Map; 7 8public class Senkyo extends JFrame implements ActionListener { 9 public static void main(String[] args) { 10 new Senkyo().setVisible(true); 11 } 12 13 private final JButton btn1 = new JButton("投票結果を確認する"); 14 private final Map<String, Integer> map = new HashMap<>(); 15 16 public Senkyo() { 17 setTitle("参議院選挙"); 18 setSize(500, 400); 19 setLocationRelativeTo(null); 20 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 21 22 23 Box topPanel = Box.createVerticalBox(); 24 add(topPanel, BorderLayout.NORTH); 25 26 JLabel JL1 = new JLabel("参議院選挙"); 27 JL1.setFont(new Font(Font.DIALOG_INPUT, Font.BOLD, 50)); 28 JL1.setAlignmentX(Component.CENTER_ALIGNMENT); 29 topPanel.add(JL1); 30 31 JLabel JL2 = new JLabel("自分が投票したい党のボタンを押してください"); 32 JL2.setFont(new Font(Font.DIALOG_INPUT, Font.BOLD, 20)); 33 JL2.setAlignmentX(Component.CENTER_ALIGNMENT); 34 topPanel.add(JL2); 35 36 37 btn1.setPreferredSize(new Dimension(100, 100)); 38 btn1.addActionListener(this); 39 add(btn1, BorderLayout.SOUTH); 40 41 42 JPanel centerPanel = new JPanel(); 43 add(centerPanel, BorderLayout.CENTER); 44 45 String[] names = { 46 "自由民主党", "立憲民主党", "公明党", "日本維新の会", "日本共産党", 47 "国民民主党", "れいわ新選組", "社会民主党", "NHK党", "その他", 48 }; 49 50 for (String name : names) { 51 map.put(name, 0); 52 JButton button = new JButton(name); 53 button.addActionListener(this); 54 centerPanel.add(button); 55 } 56 } 57 58 @Override public void actionPerformed(ActionEvent e) { 59 if (e.getSource() == btn1) { 60 System.out.println(map); 61 } else { 62 JButton button = (JButton) e.getSource(); 63 String name = button.getText(); 64 int count = map.get(name); 65 map.put(name, count + 1); 66 } 67 } 68}

投稿2022/07/11 22:12

TN8001

総合スコア9244

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問