Javaを書いてみよう!入門ソースコード
■ソースコード
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class samplewindows {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
JFrame frame = new JFrame("リスト表示");
AddListPanel panel1 = new AddListPanel();
Container cont = frame.getContentPane();
cont.add(panel1);
//set up frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(0, 0, 300, 500);
frame.setVisible(true);
}
}
class AddListPanel extends JPanel implements ActionListener{
private final long serialVersionUID = 1L;
JButton button1, button2;
JList list1;
JTextField text1;
DefaultListModel listModel;
JLabel label1;
AddListPanel(){
button1 = new JButton("選択");
button1.addActionListener(this);
listModel = new DefaultListModel();
listModel.addElement("りんご");
list1 = new JList(listModel);
list1.setFixedCellWidth(100);
button2 = new JButton("追加");
button2.addActionListener(this);
JScrollPane scroll1 = new JScrollPane(list1);
scroll1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scroll1.setPreferredSize(new Dimension(240, 100));
scroll1.setBorder(BorderFactory.createEtchedBorder());
scroll1.setBorder(BorderFactory.createTitledBorder("果物"));
text1 = new JTextField(12);
label1 = new JLabel("ここに新しい項目を入力してください");
JPanel p1 = new JPanel();
p1.add(scroll1);
p1.add(button1);
JPanel p2 = new JPanel();
p2.setLayout(new GridLayout(2, 1));
p2.add(label1);
p2.add(text1);
JPanel p3 = new JPanel();
p3.add(button2);
this.setLayout(new GridLayout(3, 1));
this.add(p1);
this.add(p2);
this.add(p3);
}
public void actionPerformed(ActionEvent el){
if(el.getSource() == button1){
JOptionPane.showMessageDialog(
null,
list1.getSelectedValue() + "が選択されました",
"選択項目の表示",
JOptionPane.INFORMATION_MESSAGE
);
}
else if(el.getSource() == button2){
if(text1.getText().compareTo("") != 0){
listModel.addElement(text1.getText());
}
else{
JOptionPane.showMessageDialog(
null,
"設定する項目が入力されていません",
"入力エラー",
JOptionPane.INFORMATION_MESSAGE
);
}
}
}
}
病み上がりだし、夜も遅いしで解説はマタ明日。。。
TrackBack URL :
Comments (0)