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

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

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

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

Q&A

解決済

1回答

4734閲覧

ボタンを画面の一番下に配置したい

series207

総合スコア49

Java

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

0グッド

0クリップ

投稿2019/07/14 01:51

編集2019/07/14 01:53

#実現したいこと
ボタンが3つあり、ボタンを押すとメッセージを表示するプログラムを作っているのですが、ボタンを画面の一番下に配置するにはどうすればいいでしょうか?

#該当のソースコード

java

1import java.awt.event.ActionEvent; 2import java.awt.event.ActionListener; 3 4import javax.swing.BoxLayout; 5import javax.swing.JButton; 6import javax.swing.JFrame; 7import javax.swing.JLabel; 8import javax.swing.JPanel; 9 10public class Janken2 { 11 JLabel lb1; 12 JButton b1,b2,b3; 13 public static void main(String[] args) { 14 new Janken2(); 15 } 16 public Janken2(){ 17 JFrame f; 18 JPanel p1,p2; 19 f=new JFrame("じゃんけん"); 20 f.getContentPane().setLayout(new BoxLayout( 21 f.getContentPane(),BoxLayout.PAGE_AXIS)); 22 f.setSize(400,500); 23 24 lb1=new JLabel("じゃんけんをします"); 25 b1=new JButton("グー"); 26 b2=new JButton("チョキ"); 27 b3=new JButton("パー"); 28 f.getContentPane().add(lb1); 29 f.getContentPane().add(b1); 30 f.getContentPane().add(b2); 31 f.getContentPane().add(b3); 32 p1=new JPanel(); 33 p2=new JPanel(); 34 b1.addActionListener(new Janken2gu()); 35 b2.addActionListener(new Janken2choki()); 36 b3.addActionListener(new Janken2pa()); 37 p1.add(lb1); 38 p2.add(b1); 39 p2.add(b2); 40 p2.add(b3); 41 f.getContentPane().add(p1); 42 f.getContentPane().add(p2); 43 f.setVisible(true); 44 } 45 class Janken2gu implements ActionListener{ 46 public void actionPerformed(ActionEvent e){ 47 lb1.setText("グーですね"); 48 } 49 } 50 class Janken2choki implements ActionListener{ 51 public void actionPerformed(ActionEvent e){ 52 lb1.setText("チョキですね"); 53 } 54 } 55 class Janken2pa implements ActionListener{ 56 public void actionPerformed(ActionEvent e){ 57 lb1.setText("パーですね"); 58 } 59 } 60} 61 62

#実行結果
※ラベルにはじゃんけんをしますと書いてありますが、このプログラムではじゃんけんはできません。
イメージ説明

#試したこと
BorderLayoutのSOUTHで配置してみましたが、細長いパーのボタンが表示されるのみでした。

java

1import java.awt.BorderLayout; 2import java.awt.Container; 3import java.awt.event.ActionEvent; 4import java.awt.event.ActionListener; 5 6import javax.swing.JButton; 7import javax.swing.JFrame; 8import javax.swing.JLabel; 9import javax.swing.JPanel; 10 11public class Janken2 { 12 JLabel lb1; 13 JButton b1,b2,b3; 14 public static void main(String[] args) { 15 new Janken2(); 16 } 17 public Janken2(){ 18 JFrame f; 19 JPanel p1,p2; 20 f=new JFrame("じゃんけん"); 21 Container c; 22 c=f.getContentPane(); 23 f.setSize(400,500); 24 lb1=new JLabel("じゃんけんをします"); 25 b1=new JButton("グー"); 26 b2=new JButton("チョキ"); 27 b3=new JButton("パー"); 28 f.getContentPane().add(lb1); 29 f.getContentPane().add(b1); 30 f.getContentPane().add(b2); 31 f.getContentPane().add(b3); 32 p1=new JPanel(); 33 p2=new JPanel(); 34 b1.addActionListener(new Janken2gu()); 35 b2.addActionListener(new Janken2choki()); 36 b3.addActionListener(new Janken2pa()); 37 p1.add(lb1); 38 p2.add(b1); 39 p2.add(b2); 40 p2.add(b3); 41 f.getContentPane().add(p1); 42 f.getContentPane().add(p2); 43 c.add(b1,BorderLayout.SOUTH); 44 c.add(b2,BorderLayout.SOUTH); 45 c.add(b3,BorderLayout.SOUTH); 46 f.setVisible(true); 47 } 48 class Janken2gu implements ActionListener{ 49 public void actionPerformed(ActionEvent e){ 50 lb1.setText("グーですね"); 51 } 52 } 53 class Janken2choki implements ActionListener{ 54 public void actionPerformed(ActionEvent e){ 55 lb1.setText("チョキですね"); 56 } 57 } 58 class Janken2pa implements ActionListener{ 59 public void actionPerformed(ActionEvent e){ 60 lb1.setText("パーですね"); 61 } 62 } 63} 64 65

#実行結果
イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

BorderLayout で各枠に入れられるのは 1 つだけです.
ですので, SOUTH に JPanel を入れ, その JPanel にボタンを入れれば可能かと思います.

投稿2019/07/14 02:33

jimbe

総合スコア12648

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

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

series207

2019/07/14 02:50

ありがとうございます。解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問