質問するログイン新規登録

質問編集履歴

3

コードの不要な部分を削除しました。

2017/01/08 23:58

投稿

fkd4650
fkd4650

スコア12

title CHANGED
File without changes
body CHANGED
@@ -7,34 +7,11 @@
7
7
 
8
8
  【現状】
9
9
  テキストを入力する部分のキー入力イベントの補足はなんとかできました。
10
- 以下にコードをそのまま掲載します。
10
+ 以下にコードを抜粋して掲載します。
11
- netBeansで作成中です。自動生成コードも全て掲載しております。
12
11
 
13
12
  JComboBoxの変数名:cb1
14
- JTextAreaの変数名:TA1
13
+ JTextAreaの変数名:ta1
15
14
  ```java
16
- /*
17
- * To change this license header, choose License Headers in Project Properties.
18
- * To change this template file, choose Tools | Templates
19
- * and open the template in the editor.
20
- */
21
- package menutest;
22
-
23
- import java.awt.EventQueue;
24
- import java.awt.event.KeyAdapter;
25
- import java.awt.event.KeyEvent;
26
- import java.awt.event.KeyListener;
27
- import javax.swing.ComboBoxModel;
28
- import javax.swing.JTextField;
29
-
30
-
31
- public class shitsumon extends javax.swing.JFrame {
32
-
33
- /**
34
- * Creates new form shitumon
35
- */
36
- public shitsumon() {
37
- initComponents();
38
15
 
39
16
  JTextField field = (JTextField) cb1.getEditor().getEditorComponent();
40
17
 
@@ -45,9 +22,9 @@
45
22
  JTextField tfd = (JTextField) cb1.getEditor().getEditorComponent();
46
23
  String text = tfd.getText();
47
24
  if(text.isEmpty()){ //文字入力が無い場合
48
- TA1.append("文字を入力してください\n");
25
+ ta1.append("文字を入力してください\n");
49
26
  } else {
50
- TA1.append("【" + text + "】が入力されました。\n" );
27
+ ta1.append("【" + text + "】が入力されました。\n" );
51
28
  }
52
29
  }
53
30
  });
@@ -56,97 +33,6 @@
56
33
  KeyListener kl = new KeyTest();
57
34
  field.addKeyListener(kl);
58
35
 
59
- }
60
-
61
- /**
62
- * This method is called from within the constructor to initialize the form.
63
- * WARNING: Do NOT modify this code. The content of this method is always
64
- * regenerated by the Form Editor.
65
- */
66
- @SuppressWarnings("unchecked")
67
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
68
- private void initComponents() {
69
-
70
- cb1 = new javax.swing.JComboBox<>();
71
- jScrollPane1 = new javax.swing.JScrollPane();
72
- TA1 = new javax.swing.JTextArea();
73
-
74
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
75
-
76
- cb1.setEditable(true);
77
- cb1.setFont(new java.awt.Font("MS UI Gothic", 0, 24)); // NOI18N
78
- cb1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "アイテム1", "アイテム2", "iitem3", "item4" }));
79
- cb1.setSelectedIndex(-1);
80
-
81
- TA1.setColumns(20);
82
- TA1.setRows(5);
83
- jScrollPane1.setViewportView(TA1);
84
-
85
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
86
- getContentPane().setLayout(layout);
87
- layout.setHorizontalGroup(
88
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
89
- .addGroup(layout.createSequentialGroup()
90
- .addContainerGap()
91
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
92
- .addComponent(jScrollPane1)
93
- .addComponent(cb1, 0, 419, Short.MAX_VALUE))
94
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
95
- );
96
- layout.setVerticalGroup(
97
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
98
- .addGroup(layout.createSequentialGroup()
99
- .addContainerGap()
100
- .addComponent(cb1, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
101
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
102
- .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE)
103
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
104
- );
105
-
106
- pack();
107
- }// </editor-fold>
108
-
109
- /**
110
- * @param args the command line arguments
111
- */
112
- public static void main(String args[]) {
113
- /* Set the Nimbus look and feel */
114
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
115
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
116
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
117
- */
118
- try {
119
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
120
- if ("Nimbus".equals(info.getName())) {
121
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
122
- break;
123
- }
124
- }
125
- } catch (ClassNotFoundException ex) {
126
- java.util.logging.Logger.getLogger(shitumon.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
127
- } catch (InstantiationException ex) {
128
- java.util.logging.Logger.getLogger(shitumon.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
129
- } catch (IllegalAccessException ex) {
130
- java.util.logging.Logger.getLogger(shitumon.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
131
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
132
- java.util.logging.Logger.getLogger(shitumon.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
133
- }
134
- //</editor-fold>
135
-
136
- /* Create and display the form */
137
- java.awt.EventQueue.invokeLater(new Runnable() {
138
- public void run() {
139
- new shitumon().setVisible(true);
140
- }
141
- });
142
- }
143
-
144
- // Variables declaration - do not modify
145
- private javax.swing.JTextArea TA1;
146
- private javax.swing.JComboBox<String> cb1;
147
- private javax.swing.JScrollPane jScrollPane1;
148
- // End of variables declaration
149
- }
150
36
  ```
151
37
 
152
38
  ご助力頂けますと幸いです。

2

不足していた情報を加筆しました。

2017/01/08 23:58

投稿

fkd4650
fkd4650

スコア12

title CHANGED
File without changes
body CHANGED
@@ -10,6 +10,8 @@
10
10
  以下に全コードをそのまま掲載します。
11
11
  netBeansで作成中です。自動生成コードも全て掲載しております。
12
12
 
13
+ JComboBoxの変数名:cb1
14
+ JTextAreaの変数名:TA1
13
15
  ```java
14
16
  /*
15
17
  * To change this license header, choose License Headers in Project Properties.

1

抽象的で分かりにくかった内容を具体的にしました。

2017/01/08 12:28

投稿

fkd4650
fkd4650

スコア12

title CHANGED
File without changes
body CHANGED
@@ -1,13 +1,151 @@
1
1
  javaの勉強を始めて間もない初心者です。
2
2
  見当違いな質問をしていましたらすみません。
3
3
 
4
+ 【実現したいこと】
4
- editablejComboBoxのリスト内で方向キーやエンターなどキー操作があった際にが押されのか取得する方法があればご教授願す。
5
+ 編集可能JComboBoxnにおいて、テキスト入力部分イベントとリスト部分イベントを別々リスナで補足したいす。
6
+ 特にリスト部分では、項目を選択する際の「エンターキーが押された」というイベントを補足したいです。
5
7
 
8
+ 【現状】
6
- ↓こちらイト下部で紹介されている方法を参考にしてMenuKeyListenerどを試してみましたが無反応でした
9
+ テキストを入力する部分キー入力ベンの補足はんとかできました。
10
+ 以下に全コードをそのまま掲載します。
7
- http://www.ne.jp/asahi/hishidama/home/tech/java/swing/JComboBox.html
11
+ netBeansで作成中です。自動生成コードも全て掲載しております。
8
12
 
13
+ ```java
14
+ /*
15
+ * To change this license header, choose License Headers in Project Properties.
9
- また他にもKeyAdapterなど複数のイベントリスナーを試してみましたが、まったく反応がありません。
16
+ * To change this template file, choose Tools | Templates
17
+ * and open the template in the editor.
18
+ */
19
+ package menutest;
10
20
 
21
+ import java.awt.EventQueue;
22
+ import java.awt.event.KeyAdapter;
23
+ import java.awt.event.KeyEvent;
11
- 質問内容も抽象的になってしまい恐れ入りますが、どなたかご助力頂けないでしょうか。
24
+ import java.awt.event.KeyListener;
25
+ import javax.swing.ComboBoxModel;
26
+ import javax.swing.JTextField;
12
27
 
28
+
29
+ public class shitsumon extends javax.swing.JFrame {
30
+
31
+ /**
32
+ * Creates new form shitumon
33
+ */
34
+ public shitsumon() {
35
+ initComponents();
36
+
37
+ JTextField field = (JTextField) cb1.getEditor().getEditorComponent();
38
+
39
+ class KeyTest extends KeyAdapter {
40
+ public void keyTyped(KeyEvent e){
41
+ EventQueue.invokeLater(new Runnable() {
42
+ @Override public void run() {
43
+ JTextField tfd = (JTextField) cb1.getEditor().getEditorComponent();
44
+ String text = tfd.getText();
45
+ if(text.isEmpty()){ //文字入力が無い場合
46
+ TA1.append("文字を入力してください\n");
47
+ } else {
48
+ TA1.append("【" + text + "】が入力されました。\n" );
49
+ }
50
+ }
51
+ });
52
+ }
53
+ }
54
+ KeyListener kl = new KeyTest();
55
+ field.addKeyListener(kl);
56
+
57
+ }
58
+
59
+ /**
60
+ * This method is called from within the constructor to initialize the form.
61
+ * WARNING: Do NOT modify this code. The content of this method is always
62
+ * regenerated by the Form Editor.
63
+ */
64
+ @SuppressWarnings("unchecked")
65
+ // <editor-fold defaultstate="collapsed" desc="Generated Code">
66
+ private void initComponents() {
67
+
68
+ cb1 = new javax.swing.JComboBox<>();
69
+ jScrollPane1 = new javax.swing.JScrollPane();
70
+ TA1 = new javax.swing.JTextArea();
71
+
72
+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
73
+
74
+ cb1.setEditable(true);
75
+ cb1.setFont(new java.awt.Font("MS UI Gothic", 0, 24)); // NOI18N
76
+ cb1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "アイテム1", "アイテム2", "iitem3", "item4" }));
77
+ cb1.setSelectedIndex(-1);
78
+
79
+ TA1.setColumns(20);
80
+ TA1.setRows(5);
81
+ jScrollPane1.setViewportView(TA1);
82
+
83
+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
84
+ getContentPane().setLayout(layout);
85
+ layout.setHorizontalGroup(
86
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
87
+ .addGroup(layout.createSequentialGroup()
88
+ .addContainerGap()
89
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
90
+ .addComponent(jScrollPane1)
91
+ .addComponent(cb1, 0, 419, Short.MAX_VALUE))
92
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
93
+ );
94
+ layout.setVerticalGroup(
95
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
96
+ .addGroup(layout.createSequentialGroup()
97
+ .addContainerGap()
98
+ .addComponent(cb1, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
99
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
100
+ .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE)
101
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
102
+ );
103
+
104
+ pack();
105
+ }// </editor-fold>
106
+
107
+ /**
108
+ * @param args the command line arguments
109
+ */
110
+ public static void main(String args[]) {
111
+ /* Set the Nimbus look and feel */
112
+ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
113
+ /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
114
+ * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
115
+ */
116
+ try {
117
+ for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
118
+ if ("Nimbus".equals(info.getName())) {
119
+ javax.swing.UIManager.setLookAndFeel(info.getClassName());
120
+ break;
121
+ }
122
+ }
123
+ } catch (ClassNotFoundException ex) {
124
+ java.util.logging.Logger.getLogger(shitumon.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
125
+ } catch (InstantiationException ex) {
126
+ java.util.logging.Logger.getLogger(shitumon.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
127
+ } catch (IllegalAccessException ex) {
128
+ java.util.logging.Logger.getLogger(shitumon.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
129
+ } catch (javax.swing.UnsupportedLookAndFeelException ex) {
130
+ java.util.logging.Logger.getLogger(shitumon.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
131
+ }
132
+ //</editor-fold>
133
+
134
+ /* Create and display the form */
135
+ java.awt.EventQueue.invokeLater(new Runnable() {
136
+ public void run() {
137
+ new shitumon().setVisible(true);
138
+ }
139
+ });
140
+ }
141
+
142
+ // Variables declaration - do not modify
143
+ private javax.swing.JTextArea TA1;
144
+ private javax.swing.JComboBox<String> cb1;
145
+ private javax.swing.JScrollPane jScrollPane1;
146
+ // End of variables declaration
147
+ }
148
+ ```
149
+
150
+ ご助力頂けますと幸いです。
13
151
  宜しくお願い致します。