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

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

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

NetBeansは Java、HTML5、PHP、C/C++のアプリケーションのフレームワーク、もしくは統合開発環境(NetBeans IDE)の両方を指します

Java

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

Swing

SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。

Q&A

解決済

2回答

1998閲覧

SwingでのActionlistenerの使い方

ruin_atamaga

総合スコア13

NetBeans

NetBeansは Java、HTML5、PHP、C/C++のアプリケーションのフレームワーク、もしくは統合開発環境(NetBeans IDE)の両方を指します

Java

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

Swing

SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。

0グッド

0クリップ

投稿2019/01/30 06:45

前提・実現したいこと

JavaのSwingでButtonを作り、Atomで作った「キーボードから10進数を入力すると2、8、16進数に
変換する」プログラムを、テキストフォームに数字を入力して任意のボタンを押すことで進数を変換をしたいです。

発生している問題・エラーメッセージ

プログラム自体はできているのですが、GUIもSwingも初心者なためどのようにactionlistenerを使えばいいのかわかりません。使用するライブラリ→javaSwing 使う部品→JFrame JButton JLabel JTextField ボタンクリックのイベントを認識させるためにawtのインターフェースActionListenerを使います。 また、netbeansの中でJFrameラベルに何を記述し、javaapplicationに何を記述すればいいのか分かりません

該当のソースコード

Java これがもとのソースコードです ソースコード mport java.util.Scanner; public class Shinsuu1 { public static void main(String[] args) { System.out.println("数値を入力して下さい。"); Scanner scan = new Scanner(System.in); int i = scan.nextInt(); System.out.println ("2進数は "+Integer.toBinaryString (i) ); // 2進数 System.out.println ("8進数は "+Integer.toOctalString (i) ); // 8進数 System.out.println ("16進数は "+Integer.toHexString (i) ); // 16進数 } }

試したこと

netbeansでJavaapplicationをひらく。ソース、パッケージからJFrameを開く。
import javax.swing.JFrame;を追加。
//TO Do
JFrame mainFrame = new JFrame("二進数");
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setSize(320, 160);
mainFrame.setLocationRelativeTo(null);
mainFrame.setVisible(true);

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

レイアウトは適当にしました。

Java

1import java.awt.BorderLayout; 2import java.awt.GridLayout; 3 4import javax.swing.JButton; 5import javax.swing.JFrame; 6import javax.swing.JLabel; 7import javax.swing.JPanel; 8import javax.swing.JTextField; 9import javax.swing.SwingUtilities; 10 11public class Sample { 12 public static void main(final String[] args) throws Exception { 13 JFrame mainFrame = new JFrame("二進数"); 14 mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 15 mainFrame.setSize(320, 160); 16 mainFrame.setLocationRelativeTo(null); 17 18 // 入力フィールド作成 19 JTextField textField = new JTextField(); 20 mainFrame.add(textField, BorderLayout.CENTER); 21 22 // 結果を表示する領域を作成 23 JPanel resultPanel = new JPanel(); 24 resultPanel.setLayout(new GridLayout(3, 2)); 25 26 resultPanel.add(new JLabel("2進数:")); 27 JLabel binaryLabel = new JLabel(); 28 resultPanel.add(binaryLabel); 29 30 resultPanel.add(new JLabel("8進数:")); 31 JLabel octalLabel = new JLabel(); 32 resultPanel.add(octalLabel); 33 34 resultPanel.add(new JLabel("16進数:")); 35 JLabel hexLabel = new JLabel(); 36 resultPanel.add(hexLabel); 37 38 mainFrame.add(resultPanel, BorderLayout.SOUTH); 39 40 // ボタン作成 41 JButton button = new JButton("変換"); 42 // ご質問のActionListenrの部分です 43 button.addActionListener(l -> { 44 int input = Integer.valueOf(textField.getText()); 45 binaryLabel.setText(Integer.toBinaryString(input)); 46 octalLabel.setText(Integer.toOctalString(input)); 47 hexLabel.setText(Integer.toHexString(input)); 48 }); 49 mainFrame.add(button, BorderLayout.EAST); 50 51 // 表示 52 SwingUtilities.invokeLater(() -> { 53 mainFrame.setVisible(true); 54 }); 55 } 56}

投稿2019/01/30 07:56

root_jp

総合スコア4666

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

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

0

投稿2019/01/30 07:16

tkturbo

総合スコア5572

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問