1
final JPanel gui = new JPanel(new BorderLayout(2,3));
 JPanel guiCenter = new JPanel(new BorderLayout(2,3));

 JPanel buttonConstrsint = new JPanel(new FlowLayout(FlowLayout.CENTER));
             JButton getQuotesButton = new JButton("Get Quotes..");

              getQuotesButton.addActionListener(new ActionListener() {
                  public void actionPerformed(ActionEvent e) {

                    JTable table = new JTable(generateRandomTableModel());
                     JScrollPane pane = new JScrollPane(table);
                    guiCenter.add(pane, BorderLayout.SOUTH);
                    //guiCenter.setVisible(true);
                    gui.add(guiCenter,BorderLayout.CENTER);
                    gui.setPreferredSize(new Dimension(400,400));
                    gui.revalidate();
                    gui.repaint();
            }
        });

  buttonConstrsint.add(getQuotesButton);
  guiCenter.add(buttonConstrsint,BorderLayout.NORTH);

 // gui.add(labelFields,BorderLayout.NORTH);
  gui.add(guiCenter,BorderLayout.CENTER);

  JOptionPane.showMessageDialog(null, gui);

有人可以帮助我为什么我的 gui 面板无法调整大小,当我加载表格时,我希望它会自动扩展。

4

1 回答 1

0

这是我认为您正在尝试做的一个示例:

另外请看一下如何使用JTable以及如何使用JOptionPane

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;

public class Test2 {

    public static void main(String[] args) {
        final JPanel gui = new JPanel(new BorderLayout(2, 3));

        JPanel buttonConstrsint = new JPanel(new FlowLayout(FlowLayout.CENTER));
        JButton getQuotesButton = new JButton("Get Quotes..");
        buttonConstrsint.add(getQuotesButton);
        gui.add(buttonConstrsint, BorderLayout.NORTH);


        getQuotesButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String[] columnNames = {"First Name",
                        "Last Name",
                        "Sport",
                        "# of Years",
                        "Vegetarian"};


                Object[][] data = {
                        {"Kathy", "Smith",
                         "Snowboarding", new Integer(5), new Boolean(false)},
                        {"John", "Doe",
                         "Rowing", new Integer(3), new Boolean(true)},
                        {"Sue", "Black",
                         "Knitting", new Integer(2), new Boolean(false)},
                        {"Jane", "White",
                         "Speed reading", new Integer(20), new Boolean(true)},
                        {"Joe", "Brown",
                         "Pool", new Integer(10), new Boolean(false)}
                    };




                JTable table = new JTable(data, columnNames);


                JScrollPane scrollPane = new JScrollPane(table);
                table.setFillsViewportHeight(true);



                gui.add(scrollPane, BorderLayout.CENTER);
                gui.revalidate();
                gui.repaint();
            }
        });

        JOptionPane jOptionPane = new JOptionPane(gui);

        JDialog dialog = jOptionPane.createDialog(new JFrame(), "title");
        dialog.setSize(200, 200);
        dialog.show();
    }
}
于 2013-10-13T08:51:16.673 回答