■ソースコード
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 ); } } } }
病み上がりだし、夜も遅いしで解説はマタ明日。。。