コンパイルするには、このコードをどのように修正すればよいですか? 問題が多いことは承知しています...どうもありがとうございます〜statechangedには何を入れればいいですか?JSpinner を JOptionPane にリンクするにはどうすればよいですか? (btnEnter を作成し、ChangeListener を追加したら、どうすればよいでしょうか?)
import javax.swing.*;
import java.awt.Container;
import java.util.Calendar;
import java.util.Date;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.Graphics;
import java.lang.Comparable;
import javax.swing.JOptionPane;
import javax.swing.JDialog;
public class JSpinnerr extends JApplet
implements ActionListener, ChangeListener{
private static final long serialVersionUID = 2005L;
private Container window;
private JButton btnEnter;
private JOptionPane pane;
private JLabel favoriteJl;
private JButton[] choiceJb;
private ButtonGroup choiceBg;
//spinner.setEditor(new JSpinner.DateEditor(spinner, "MM/yyyy"));
public void init() {
window = new DoubleBufferedPanel();
setContentPane(window);
createAppearance();
createGUI();
createJOptionPane();
}
public void createAppearance(){
window.setLayout(null);
}
public void createGUI(){
favoriteJl = new JLabel("When are you going to graduate from High School?");
favoriteJl.setSize(100, 30);
favoriteJl.setLocation(20, 120);
window.add(favoriteJl);
btnEnter = new JButton("Enter");
btnEnter.setSize(100, 30);
btnEnter.setLocation(220, 120);
btnEnter.addChangeListener(this);
window.add(btnEnter);
Date today = new Date();
JSpinner dateJs = new JSpinner(new SpinnerDateModel(today, null, null,
Calendar.MONTH));
JSpinner.DateEditor dateDe = new JSpinner.DateEditor(dateJs, "MM/yy");
dateJs.setEditor(dateDe);
window.add(dateJs);
setVisible(true);
}
public void createJOptionPane(){
JOptionPane pane = new JOptionPane("Congratulations!");
JDialog dialog = pane.createDialog(null, "Way to go! Please continue to work hard.");
dialog.show();
choiceBg = new ButtonGroup();
choiceJb = new JButton[] {
new JButton("Laugh"),
new JButton("I am worry"),
new JButton("I don't want to work anymore"),
new JButton("Present Options") };
for (int i = 0; i < choiceJb.length; i++) {
choiceBg.add(choiceJb[i]);
pane.add(choiceJb[i]);
}
window.add(pane);
}
public void actionPerformed(ActionEvent e) {
//if(e.getSource() == )
// {
// }
if(choiceJb[0].isSelected())
{
pane.showMessageDialog(this, "Laugh",
"Don't laugh", pane.WARNING_MESSAGE);
}
else if (choiceJb[1].isSelected()) {
Object[] options = {"Because of my grades",
"Because of my SAT scores"};
int n = pane.showConfirmDialog(this,
"Why are you worry?", "I am worry", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
options,
options[0]);
}
else if (choiceJb[2].isSelected()) {
Object[] reasons = {"I just want to chill out", "I have no incentive to work hard", "I am tired"};
String s = (String)pane.showInputDialog(this, "What is the reason that you don't want to work anymore?",
"Your reason?", pane.PLAIN_MESSAGE, null, reasons, "I just want to chill out");
}
else if (choiceJb[3].isSelected()) {
JOptionPane.showOptionDialog(this, "Present Options",
"Simple Dialog", getButtonType(), getMessageType(),
null, substrings(ButtonLabels), null);
}
}
public void stateChanged(ChangeEvent e){
}
class DoubleBufferedPanel extends JPanel {
private static final long serialVersionUID = 44L;
public void paint(Graphics g){
super.paint(g);
}
}
}
編集版 import javax.swing. ; java.awt.Container をインポートします。java.util.Calendar をインポートします。java.util.Date をインポートします。javax.swing.event をインポートします。; import java.awt.event.*; java.awt.Graphics をインポートします。import java.lang.Comparable; import javax.swing.JOptionPane; import javax.swing.JDialog; java.awt.Dimension をインポートします。java.awt.FlowLayout をインポートします。
public class JSpinnerrDemo extends JApplet
implements ActionListener, ChangeListener{
private static final long serialVersionUID = 2005L;
private Container window;
private JButton btnEnter;
private JOptionPane pane;
private JLabel dateJl;
private JButton[] choiceJb;
private ButtonGroup choiceBg;
private JDialog dialog;
//spinner.setEditor(new JSpinner.DateEditor(spinner, "MM/yyyy"));
public void init() {
window = new DoubleBufferedPanel();
setContentPane(window);
createAppearance();
createGUI();
createJOptionPane();
}
public void createAppearance(){
window.setLayout(null);
}
public void createGUI(){
dateJl = new JLabel("When are you going to graduate from High School?");
dateJl.setSize(400, 30);
dateJl.setLocation(20, 120);
window.add(dateJl);
btnEnter = new JButton("Enter");
btnEnter.setSize(100, 30);
btnEnter.setLocation(220, 180);
btnEnter.addActionListener(this);
window.add(btnEnter);
Date today = new Date();
JSpinner dateJs = new JSpinner(new SpinnerDateModel(today, null, null,
Calendar.MONTH));
JSpinner.DateEditor dateDe = new JSpinner.DateEditor(dateJs, "MM/yy");
dateJs.setEditor(dateDe);
dateJs.setLocation(20, 160);
dateJs.setSize(100, 30);
window.add(dateJs);
dateJs.addChangeListener(this);
dateJs.setVisible(true);
}
public void createJOptionPane(){
JOptionPane pane = new JOptionPane("Way to go! Please continue to work hard.");
JDialog dialog = pane.createDialog(null, "Congratulations!");
dialog.setSize(new Dimension(300, 150));
dialog.setLocationRelativeTo(this);
dialog.setLayout(new FlowLayout());
dialog.setVisible(false);
choiceBg = new ButtonGroup();
choiceJb = new JButton[] {
new JButton("Laugh"),
new JButton("I am worry"),
new JButton("I don't want to work anymore"),
new JButton("What?") };
for (int i = 0; i < choiceJb.length; i++) {
choiceBg.add(choiceJb[i]);
dialog.add(choiceJb[i]);
}
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == btnEnter)
{
dialog.setVisible(true);
window.add(dialog);
//JOptionPane.showMessageDialog( );
}
if(choiceJb[0].isSelected())
{
JOptionPane.showMessageDialog(this, "Laugh",
"Don't laugh", JOptionPane.WARNING_MESSAGE);
}
else if (choiceJb[1].isSelected()) {
Object[] options = {"Because of my grades",
"Because of my SAT scores"};
JOptionPane.showOptionDialog(this,
"Why are you worry?",
"I am worry",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE,
null, //do not use a custom Icon
options, //the titles of buttons
options[0]); //default button title
// showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon)
}
else if (choiceJb[2].isSelected()) {
Object[] reasons = {"I just want to chill out", "I have no incentive to work hard", "I am tired"};
JOptionPane.showInputDialog(this, "What is the reason that you don't want to work anymore?",
"Your reason?", JOptionPane.PLAIN_MESSAGE, null, reasons, "I just want to chill out");
}
else if (choiceJb[3].isSelected()) {
Object[] optionss = {"Leave me alone",
"Bye"};
JOptionPane.showOptionDialog(this, "What what?",
"What?", JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
optionss,
optionss[0]);
}
}
public void stateChanged(ChangeEvent e){
}
class DoubleBufferedPanel extends JPanel {
private static final long serialVersionUID = 44L;
public void paint(Graphics g){
super.paint(g);
}
}
}