JOptionPane.showMessageDialog中的JScrollPane数组

时间:2016-01-22 04:32:56

标签: java swing joptionpane jscrollbar

在我的代码中,我正在尝试使用JScrollPane并将其添加到JOptionPane.showMessageDialog中。我不知道这是否可能开始,但我不知道如何做到这一点,以及如何将整个数组添加到一个消息而不是多个。这是我的代码:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Iterator;
public class CulminatingPro implements ActionListener
{
    //Create an array of buttons 
    static JButton[][] buttons = new JButton[10][4];
    static JButton jbtList = new JButton("List");
    ArrayList<Culminating> flyers = new ArrayList<Culminating>();
    String fn;
    String ln;
    String pn;
    String adress;
    int column;
    int row;
    int reply;
    int v;
    Object[] options = {"First Name",
                    "Last Name",
                    "Phone Number",
                    "Adress"};
    public static void main(String[] args)
    {
        JFrame frame = new JFrame("Fly By Buddies");
        frame.setSize(900, 900);
        JPanel mainPanel = new JPanel();
        mainPanel.setLayout( new GridLayout(1,2));
        JPanel paneSeats = new JPanel();
        JPanel paneInfo = new JPanel();
        paneSeats.setLayout( new GridLayout(11, 4, 5,5));
        mainPanel.add(paneSeats);
        mainPanel.add(paneInfo);
        frame.setContentPane(mainPanel);

        for (int i = 0; i < buttons.length; i++)
        {
            for(int j = 0; j < buttons[0].length; j++)
            {

                if (j + 1 == 1)
                {
                    buttons[i][j] = new JButton("Seat " + (i + 1) + "A");
                    buttons[i][j].setBackground(Color.GREEN);
                    paneSeats.add(buttons[i][j]);
                    buttons[i][j].addActionListener(new CulminatingPro());
                }
                else if (j + 1 == 2)
                {
                    buttons[i][j] = new JButton("Seat " + (i + 1) + "B");
                    buttons[i][j].setBackground(Color.GREEN);
                    paneSeats.add(buttons[i][j]);
                    buttons[i][j].addActionListener(new CulminatingPro());
                }
                else if (j + 1== 3)
                {
                    buttons[i][j] = new JButton("Seat " + (i + 1) + "C");
                    buttons[i][j].setBackground(Color.GREEN);
                    paneSeats.add(buttons[i][j]);
                    buttons[i][j].addActionListener(new CulminatingPro());
                }
                else if (j + 1== 4)
                {
                    buttons[i][j] = new JButton("Seat " + (i + 1) + "D");
                    buttons[i][j].setBackground(Color.GREEN);
                    paneSeats.add(buttons[i][j]);
                    buttons[i][j].addActionListener(new CulminatingPro());
                }

            }
        }
        jbtList.setPreferredSize(new Dimension(400, 40));
        jbtList.addActionListener(new CulminatingPro());
        paneInfo.add(jbtList, BorderLayout.SOUTH);

        frame.setVisible(true);
        frame.toFront();
    }
    public void actionPerformed(ActionEvent event)
    {
        for (int i = 0; i < buttons.length; i++)
        {
            for(int j = 0; j < buttons[0].length; j++)
            {
                if (event.getSource() == buttons[i][j]) 
                {
                    v = 0;
                    for (int k = 0; k < flyers.size();k++)
                    {

                        if((flyers.get(k).getColumn() == (j) && (flyers.get(k).getColumn() == (j))))
                        {
                            if (!flyers.get(k).getFirstName().equals(""))
                            {
                                reply = JOptionPane.showConfirmDialog(null, 
                                 "Would you like to delete the info on the passenger?", "Deletion", JOptionPane.YES_NO_OPTION);
                                if (reply == JOptionPane.YES_OPTION)
                                {
                                    flyers.remove(k);
                                    buttons[i][j].setBackground(Color.GREEN);
                                }
                                else if (reply == JOptionPane.NO_OPTION)
                                {
                                    reply = JOptionPane.showConfirmDialog(null, 
                                     "Would you like to modify the info on the passenger?", "Modification", JOptionPane.YES_NO_OPTION);
                                    if (reply == JOptionPane.YES_OPTION)
                                    {
                                        int n = JOptionPane.showOptionDialog(null, "Message", "Title",
                                        JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE,
                                        null, options, options[0]);
                                        n = n + 1;
                                        if(n == 0)
                                        {
                                            fn = JOptionPane.showInputDialog(null,"Re-enter passenger's first name: ");
                                            flyers.get(k).setFirstName(fn);
                                        }
                                        if(n == 2)
                                        {
                                            ln = JOptionPane.showInputDialog(null,"Re-enter passenger's last name: ");
                                            flyers.get(k).setLastName(ln);
                                        }
                                        if(n == 3)
                                        {
                                            pn = JOptionPane.showInputDialog(null,"Re-enter passenger's phone number: ");
                                            flyers.get(k).setPhoneNumber(pn);
                                        }
                                        if(n == 4)
                                        {
                                            adress = JOptionPane.showInputDialog(null,"Re-enter passenger's adress: ");
                                            flyers.get(k).setAdress(adress);
                                        }
                                    }
                                }
                                v = 1;
                            }
                        }
                    }
                    if(v == 0)
                    {
                        fn = JOptionPane.showInputDialog(null,"Passenger's first name (Necessary): ");
                        ln = JOptionPane.showInputDialog(null,"Passenger's last name (Necessary): ");
                        pn = JOptionPane.showInputDialog(null,"Passenger's phone number: ");
                        adress = JOptionPane.showInputDialog(null,"Passenger's adress: ");
                        column = j;
                        row = i;
                        flyers.add(new Culminating(fn,ln,pn,adress,column,row));
                        buttons[i][j].setBackground(Color.RED);
                    }
                }
            }
        }
        if (event.getSource().equals("List"))
        {
                JScrollPane[] scroll = new JScrollPane[flyers.size()];
                for(int p = 0; p < flyers.size(); p++)
                {
                    JTextArea text =  new JTextArea(flyers.get(p).toString(), 10, 40);
                    scroll[p] = new JScrollPane(text);
                }
                for(int p = 0; p < flyers.size(); p++)
                {
                    JOptionPane.showMessageDialog(null,scroll[p]);
                }
        }
    }
}

0 个答案:

没有答案