0

ここで少し問題があります。私は javamail API を使用して「受信トレイ」フォルダから電子メールを取得しています。その部分は完全に正常に動作します。問題は、以下のコードに示すように、電子メールを JTable に入れようとしていることです。

     try
     {

            inbox.open(Folder.READ_ONLY);
            final Message[] messages = inbox.getMessages(1,20);
            System.out.println("NUMBER OF MESSAGES: " + inbox.getMessageCount());
             String[] colHead = {"Subject",  "Send Date"};
             for( int i = 0; i < messages.length; i++)
             {
                String[] heads = {"Subject", "Sender", "Send Date", "Content"};
                Object[][] data = {

                        {messages[i].getSubject(), (InternetAddress.toString(messages[i].getFrom())), messages[i].getReceivedDate(), messages[i].getContent()}


                };

                final JTable table = new JTable(data, heads);
                final int xyz = i;
                        panel_6.add(table);

props2 プロパティは上記で次のように定義されています。

    Properties props2 = new Properties();
     props2.setProperty("mail.store.protocol", "imaps");
     try
     {
         Session session = Session.getDefaultInstance(props2, null);
         Store store = session.getStore("imaps");
            store.connect(imapServer, imapUser, imapPass);
            Folder inbox = store.getFolder("Inbox");

私が抱えている問題は、その JTable をスクロール可能にしたいということですが、JScrollPane jsp = new JScrollPane(table) を作成し、テーブルの代わりにそれを panel_6 に追加すると、テーブルには 1 つの結果しか表示されません。 20 の代わりに、inbox.getMessages(1,20); から取得する必要があります。テーブルをスクロールできないままにしておくと、正常に動作します。何かできることはありますか? ありがとう!

4

0 に答える 0