#実現したいこと
ボタンが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
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/14 02:50