※ ChatGPTを利用し、要約された質問です(原文:一つにまとめたい)
Javaプログラミングで文章を入力し、配列に格納する方法を教えてください
このQ&Aのポイント
最近JAVAプログラミングを始めた方が、文章を入力し、配列に格納する方法を教えてください。
netbeansを使用していますが、どの配列に格納するかを選択したい場合に困っています。
また、同じボタンやテキストエリアを使用して複数の動作を行いたい場合にも試してエラーが出て実行できない状況です。ソースコードを添付します。お願いします。
最近JAVAプログラミングをやりはじめました。
netbeansで作成しています。
文章を入力し、ドラッグしてもらい格納ボタンを押すと下に表示されます。
ドラッグした文字でいいならOKボタンを押します。
押すと配列に格納されます。
表示を押すと配列の中身が見えます(これは少し適当な作りですが)
今の段階ではこれでうまくいきます。ですがどの配列に入れるか選択したい場合に困っています。
「配列2に格納」というボタンを作った場合、配列2に格納するようにするにはどうすればよいでしょうか?
今の段階では「配列に格納」というボタンは実際はドラッグした文字しか表示していませんが、本来は複数のボタンを配置してボタンにより動作を変えたいのです。ただ同じものを使いたいのです。わざわざ別のボタンやテキストエリアを作るのは無駄ですし。
ただ色々試してもエラーが出てしまい実行できずにいます。
ソースを載せておきます。お願いします。
package javaapplication5;
public class sample11 extends javax.swing.JFrame {
int i=0;
String word1;
String[] test = new String[10];
/** Creates new form sample11 */
public sample11() {
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {
word = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
SelectWord = new javax.swing.JTextField();
Ok = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
Show = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
ShowResult = new javax.swing.JTextArea();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
word.setText("文章を入力");
jButton1.setText("配列に格納");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
Ok.setText("OK");
Ok.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
OkActionPerformed(evt);
}
});
jLabel1.setText("で構いませんか?");
Show.setText("表示");
Show.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ShowActionPerformed(evt);
}
});
ShowResult.setColumns(20);
ShowResult.setRows(5);
jScrollPane1.setViewportView(ShowResult);
(文字数の都合でここにあったレイアウトに関する記述は削除しました)
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
word1 = word.getSelectedText();
SelectWord.setText(word1);
}
private void OkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OkActionPerformed
test[i] = SelectWord.getText();
++i;
}//GEN-LAST:event_OkActionPerformed
private void ShowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ShowActionPerformed
for(int j=0;j<i;j++){
ShowResult.setText(ShowResult.getText()+test[j]+"\n");
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new sample11().setVisible(true);
}
});
}
private javax.swing.JButton Ok;
private javax.swing.JTextField SelectWord;
private javax.swing.JButton Show;
private javax.swing.JTextArea ShowResult;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField word;
// End of variables declaration
}
お礼
解答ありがとうございます。 なんとか形にはなりました。結局極力同じ記述は避けるようにしました。もっといい方法はありますが時間もないのでとりあえずはということで。 ですが一つできるようになったらまた問題が出たりと大変ですがまたよろしくお願いします。