前提・実現したいこと
java8で家計簿システムを作っています。
パスワードを認証したあと、
表を表示したとき、表の上にメニューバーを実装したいのですがどうしても表示されません。
該当のソースコード
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; class Kakeibo extends JFrame implements ActionListener{ JPasswordField pass; JLabel label; JPanel panel; JButton button; public static void main(String[] args){ Kakeibo frame = new Kakeibo("家計簿"); frame.setVisible(true); ImageIcon icon = new ImageIcon("./index.png"); frame.setIconImage(icon.getImage()); } Kakeibo(String title){ setTitle(title); setBounds(100,100,1000,650); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel = new JPanel(); label = new JLabel("パスワード"); pass = new JPasswordField(10); button = new JButton("確認"); button.addActionListener(this); panel.add(label); panel.add(pass); panel.add(button); Container contentPane = getContentPane(); contentPane.add(panel,BorderLayout.CENTER); } public void actionPerformed(ActionEvent e){ String password = new String(pass.getPassword()); if(password.equals("0000")){ JLabel label = new JLabel("認証に成功しました"); JOptionPane.showMessageDialog(this,label,"成功",JOptionPane.INFORMATION_MESSAGE); System.out.println("認証に成功"); displayTable(); }else{ JLabel label = new JLabel("パスワードが違います"); JOptionPane.showMessageDialog(this,label,"失敗",JOptionPane.ERROR_MESSAGE); pass.setText(""); } } private JTable table; private JScrollPane sp; private DefaultTableModel model; public void displayTable(){ panel.removeAll(); String[] header = {"予定","収入","支出","残高"}; model = new DefaultTableModel(header,31); table = new JTable(model); sp = new JScrollPane(table); sp.setSize(new Dimension(1000,650)); panel.add(sp); panel.repaint(); } }
試したこと
いろんな位置に次のコードを入れてみましたがメニューバーが表示されません。
JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); JMenu menu1 = new JMenu("一覧"); JMenu menu2 = new JMenu("入力"); menuBar.add(menu1); menuBar.add(menu2);
この場合、メニューバーを実装することはできないのでしょうか?
どなたか教えていただけるとありがたいです。
よろしくお願いいたします。
解決済みは良いのですができればどのように解決したかコメントいただきたく
回答1件
あなたの回答
tips
プレビュー