+package yukihane.inqubus.gui;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.DefaultListModel;
+import javax.swing.GroupLayout;
+import javax.swing.JButton;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextField;
+import javax.swing.LayoutStyle.ComponentPlacement;
+
+/**
+ *
+ * @author yuki
+ */
+class NgRegisterPanel extends JPanel {
+ private static final long serialVersionUID = 1L;
+ private final DefaultListModel<String> mdlNgWord = new DefaultListModel<>();
+ private final JList<String> lstNgWord = new JList<>();
+ private final JTextField fldNgWord = new JTextField();
+ private final JButton btnNgWordAdd = new JButton("追加");
+ private final JButton btnNgWordDel = new JButton("削除");
+
+ NgRegisterPanel() {
+ final JScrollPane scrNgWord = new JScrollPane();
+ lstNgWord.setModel(mdlNgWord);
+ scrNgWord.setViewportView(lstNgWord);
+
+
+ GroupLayout gl_pnlNgWord = new GroupLayout(this);
+ setLayout(gl_pnlNgWord);
+ gl_pnlNgWord.setHorizontalGroup(
+ gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(gl_pnlNgWord.createSequentialGroup()
+ .addContainerGap()
+ .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addComponent(scrNgWord, GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
+ .addGroup(gl_pnlNgWord.createSequentialGroup()
+ .addComponent(fldNgWord, GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)
+ .addPreferredGap(ComponentPlacement.RELATED)
+ .addComponent(btnNgWordAdd)
+ .addGap(18, 18, 18)
+ .addComponent(btnNgWordDel)))
+ .addContainerGap())
+ );
+ gl_pnlNgWord.setVerticalGroup(
+ gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(gl_pnlNgWord.createSequentialGroup()
+ .addComponent(scrNgWord, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(ComponentPlacement.RELATED)
+ .addGroup(gl_pnlNgWord.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(fldNgWord, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+ .addComponent(btnNgWordDel)
+ .addComponent(btnNgWordAdd))
+ .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ );
+
+ }
+
+ void init(List<String> ngWords) {
+ for (String s : ngWords) {
+ mdlNgWord.addElement(s);
+ }
+ }
+
+ List<String> getAllElements() {
+ List<String> res = new ArrayList<>(mdlNgWord.getSize());
+ for (int i = 0; i < mdlNgWord.getSize(); i++) {
+ res.add(mdlNgWord.get(i));
+ }
+ return res;
+ }
+}