###前提・実現したいこと
ここに質問したいことを詳細に書いてください
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
###発生している問題・エラーメッセージ
シンボルが未発見、不適合な型
エラーメッセージ
CalendarTest.java:22シンボルが見つけられません
this.getContentPane.add(loginInstans.getLoginPanel());
シンボル:変数getContentPane
Login.java:22不適合な型:LoginをActionListenerに変換できません
buttondecide.addActionListener(this);
###該当のソースコード
ここにご自身が実行したソースコードを書いてください
(CalendarTest.java)
import java.awt.;
import java.awt.event.;
import java.io.;
import java.util.;
import javax.swing.;
import javax.swing.border.;
import javax.swing.text.*;
public class CalendarTest extends JFrame implements ActionListener{
Login loginInstans;
JLabel nowDate;
JButton[][] dateButton;
JTextArea[][] dateArea;
String[] subjectList = {"C言語", "Java", "解析学", "線形代数", "統計学", "計算モデル論", "数値計算の理論と実際", "専門英語", "ドイツ語", "コンピュータ序論", "ハードウェア基礎", "ソフトウェア設計学", "ファイルとデータベース", "OS論", "アルゴリズム論", "会計情報学", "メディアシステム学", "科学技術史", "情報システム基礎論", "統合情報システム学"};
CalendarTest(String title) { this.setTitle(title); this.setSize(1280, 960); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setLayout(new BorderLayout()); this.addComponentListener(null); this.getContentPane.add(loginInstans.getLoginPanel()); this.setVisible(true); } public JPanel getCalendar() { JPanel allPanel = new JPanel(); //ページ上部 JButton prevMonth = new JButton("先月"); JButton nextMonth = new JButton("来月"); prevMonth.addActionListener(this); nextMonth.addActionListener(this); prevMonth.setActionCommand("prev"); nextMonth.setActionCommand("next"); nowDate = new JLabel("/"); //カレンダーの部分 JPanel calendarPart = new JPanel(); JLabel[] week = new JLabel[7]; { week[0] = new JLabel("日"); week[1] = new JLabel("月"); week[2] = new JLabel("火"); week[3] = new JLabel("水"); week[4] = new JLabel("木"); week[5] = new JLabel("金"); week[6] = new JLabel("土"); } dateButton = new JButton[6][7]; dateArea = new JTextArea[6][7]; for(int i = 0; i < 6; i++) { for(int j = 0; j < 7; j++) { dateButton[i][j] = new JButton(""); dateArea[i][j] = new JTextArea(""); calendarPart.add(dateButton[i][j]); calendarPart.add(dateArea[i][j]); } } for(int i = 0; i < 7; i++){ calendarPart.add(week[i]); } //教科リストの部分 JPanel subjectPart = new JPanel(); JScrollPane scroll = new JScrollPane(subjectPart); JButton[] subjectButton = new JButton[20]; for(int i = 0; i < 20; i++) { subjectButton[i] = new JButton(subjectList[i]); subjectPart.add(subjectButton[i]); } //時間指定の部分 JPanel timePart = new JPanel(); JCheckBox[] timeCheck = new JCheckBox[6];{ timeCheck[0] = new JCheckBox("1時限目"); timeCheck[1] = new JCheckBox("2時限目"); timeCheck[2] = new JCheckBox("3時限目"); timeCheck[3] = new JCheckBox("4時限目"); timeCheck[4] = new JCheckBox("5時限目"); timeCheck[5] = new JCheckBox("希望なし"); } JButton reloadButton = new JButton("更新"); for(int i = 0; i < 6; i++){ timePart.add(timeCheck[i]); } timePart.add(reloadButton); //ToDoの登録部分 JPanel todoPart = new JPanel(); String[] yearList = {"2015", "2016", "2017","2018", "2019", "2020"}; String[] monthList = {"1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}; String[] dayList = {"1日", "2日", "3日", "4日", "5日", "6日", "7日", "8日", "9日", "10日", "11日", "12日", "13日", "14日", "15日", "16日", "17日", "18日", "19日", "20日", "21日", "22日", "23日", "24日", "25日", "26日", "27日", "28日", "29日", "30日", "31日"}; JComboBox yearCombo = new JComboBox(yearList); JComboBox monthCombo = new JComboBox(monthList); JComboBox dayCombo = new JComboBox(dayList); JTextArea todoInput = new JTextArea(); JButton enterButton = new JButton("登録"); enterButton.addActionListener(this); enterButton.setActionCommand("enter"); todoPart.add(yearCombo); todoPart.add(monthCombo); todoPart.add(dayCombo); todoPart.add(todoInput); todoPart.add(enterButton); //申請ボタンと確認ボタン JPanel buttonPart = new JPanel(); JButton applicationButton = new JButton("申請"); JButton checkButton = new JButton("確認"); applicationButton.addActionListener(this); checkButton.addActionListener(this); applicationButton.setActionCommand("app"); checkButton.setActionCommand("check"); buttonPart.add(applicationButton); buttonPart.add(checkButton); //レイアウト calendarPart.setLayout(new GridLayout(1,1)); subjectPart.setLayout(new GridLayout(1,2)); timePart.setLayout(new GridLayout(2,1)); todoPart.setLayout(new GridLayout(2,2)); buttonPart.setLayout(new GridLayout(2,3)); //集約 allPanel.add(calendarPart); allPanel.add(subjectPart); allPanel.add(timePart); allPanel.add(todoPart); allPanel.add(buttonPart); getContentPane().add(allPanel,BorderLayout.CENTER); //returnします return allPanel; } public Boolean isLogin(String inputId, String inputKey) { try { File f = new File("a1.txt"); FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); String lines, readId,readKey,inputkey = new String(); Boolean loginFlag = false; while((lines = br.readLine()) != null) { String[] lineSplit = lines.split("<>"); readId = lineSplit[0]; readKey = lineSplit[1]; if(inputId.equals(readId)){ if(inputkey.equals(readKey)) { //成功 loginFlag = true; break; } } } return loginFlag; }catch(IOException ee){ System.out.println(ee); } } public void actionPerformed(ActionEvent e){ String command = e.getActionCommand(); if(command.equals("Login")) { if(isLogin(loginInstans.userword, loginInstans.password)) { //ログイン処理 JOptionPane.showMessageDialog(this, "認証に成功しました", "成功", JOptionPane.INFORMATION_MESSAGE); getContentPane().removeAll(); getContentPane().add(getCalendar()); }else { JOptionPane.showMessageDialog(this, "認証に失敗しました", "失敗", JOptionPane.INFORMATION_MESSAGE); loginInstans.pass.setText(""); loginInstans.user.setText(""); } } }
}
(Login.java)
//ログイン画面
import javax.swing.;
import java.awt.;
import java.awt.event.*;
class Login extends JFrame{
JPasswordField user,pass;
String userword,password;
//ログインレイアウト
public Login(String title){
}
public JPanel getLoginPanel() {
JPanel p = new JPanel();
JLabel label1 = new JLabel("ユーザー名を入力\n");
JLabel label2 = new JLabel("パスワードを入力\n");
user = new JPasswordField(10);
pass = new JPasswordField(8);
user.setColumns(15);
pass.setColumns(15);
JButton buttondecide = new JButton("決定");
buttondecide.addActionListener(this);
buttondecide.setActionCommand("Login");
p.add(label1); p.add(label2); p.add(user); p.add(pass); p.add(buttondecide); return p; Container contentPane = getContentPane(); contentPane.add(p, BorderLayout.CENTER);
}
}
###試したこと
課題に対してアプローチしたことを記載してください
Login.javaをCalendarTest.javaに継承
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
これはテキストエディター上でコンパイルしています
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/12 07:41