パネルを切り替えるプログラムを作りたいです。
私が作ったプログラムではパネルが切り替わりません。エラーは出ていないです。
ネットに合ったものを参考にして作ったのですが、どこが間違っているのでしょうか。
ご教授願えないでしょうか。
問題の自作プログラムです。
java
1package app; 2 3import javax.swing.*; 4import java.awt.*; 5import java.awt.event.*; 6 7public class MainFrame extends JFrame implements ActionListener{ 8JPanel panel; 9CardLayout layer; 10 11public static void main(String args[]){ 12 MainFrame frame = new MainFrame(); 13 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 14 frame.setBounds(100,20,1000,700); 15 frame.setTitle("直観力トレーニング"); 16 frame.setVisible(true); 17} 18 19MainFrame(){ 20 21//scene1 22JPanel scene1 = new JPanel(); 23JPanel titlesPanel = new JPanel(); 24JLabel title = new JLabel("直観力テスト"); 25title.setFont(new Font(Font.SERIF,Font.BOLD,50)); 26titlesPanel.setPreferredSize(new Dimension(100,300)); 27 28 29titlesPanel.add(title); 30scene1.add(titlesPanel); 31 32getContentPane().add(titlesPanel,BorderLayout.PAGE_START); 33 34 35 36//scene2 37JPanel scene2 = new JPanel(); 38scene2.setBackground(Color.BLUE); 39 40//matomeru 41this.panel = new JPanel(); 42this.layer = new CardLayout(); 43this.panel.setLayout(this.layer); 44 45this.panel.add(scene1,"menue"); 46this.panel.add(scene2,"view"); 47 48 49JPanel buttonsPanel = new JPanel(); 50JButton jb = new JButton("直観力テストスタート"); 51jb.setPreferredSize(new Dimension(200,50)); 52jb.addActionListener(this); 53jb.setActionCommand("view"); 54 55buttonsPanel.add(jb); 56scene1.add(buttonsPanel); 57getContentPane().add(buttonsPanel,BorderLayout.CENTER); 58this.panel.add(scene2); 59 60} 61public void actionPerformed(ActionEvent e){ 62 String cmd = e.getActionCommand(); 63 layer.show(this.panel,cmd); 64} 65}
参考にしたプログラム
java
1package test; 2 3import javax.swing.*; 4import java.awt.*; 5import java.awt.event.*; 6 7public class a7 extends JFrame implements ActionListener{ 8JPanel panel; 9CardLayout layer; 10 public static void main(String[] args) { 11 a7 frame = new a7(); 12 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 13 frame.setBounds(100,100,500,500); 14 frame.setTitle("sakusei"); 15 frame.setVisible(true); 16 } 17 a7(){ 18 //page1 19 JPanel scene1 = new JPanel(); 20 scene1.setBackground(Color.BLUE); 21 scene1.add(new JButton("butoon")); 22 23 //page2 24 JPanel scene2 = new JPanel(); 25 scene2.setBackground(Color.RED); 26 scene2.add(new JLabel("page2")); 27 28 //matomeru 29 this.panel = new JPanel(); 30 this.layer = new CardLayout(); 31 this.panel.setLayout(this.layer); 32 33 this.panel.add(scene1, "menue"); 34 this.panel.add(scene2, "view"); 35 36 JButton button2 = new JButton("mmenue"); 37 button2.addActionListener(this); 38 button2.setActionCommand("menue"); 39 40 JButton button3 = new JButton("view"); 41 button3.addActionListener(this); 42 button3.setActionCommand("view"); 43 44 //button's Panel 45 JPanel kotei = new JPanel(); 46 kotei.add(button2); 47 kotei.add(button3); 48 49 getContentPane().add(this.panel,BorderLayout.CENTER); 50 getContentPane().add(kotei,BorderLayout.PAGE_END); 51 } 52 53public void actionPerformed(ActionEvent e){ 54 String cmd = e.getActionCommand(); 55 layer.show(this.panel,cmd); 56} 57} 58
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/14 06:07
2018/08/14 06:11 編集
2018/08/14 08:21
2018/08/14 08:35