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面板无法调整大小,当我加载桌子时,我希望它能自动扩展。
答案 0 :(得分: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();
}
}