Java JPanel没有发生
有人能帮我解释一下为什么我的gui面板无法调整大小,当我加载表时,我希望它能自动扩展。下面是一个我认为您正在尝试的示例: 也请看看如何使用和如何使用Java JPanel没有发生,java,swing,jpanel,joptionpane,preferredsize,Java,Swing,Jpanel,Joptionpane,Preferredsize,有人能帮我解释一下为什么我的gui面板无法调整大小,当我加载表时,我希望它能自动扩展。下面是一个我认为您正在尝试的示例: 也请看看如何使用和如何使用 再一次,请在创建和发布一个小程序上投入一些精力,我们可以编译、运行、修改,并希望能帮助您更正。您真的需要JOptionPane吗,为什么不只是一个对话框?@user905374,为什么要使用JDialog?然后,您需要编写所有侦听器来处理“确定”、“关闭”按钮等。JOptionPane在一条语句中为您完成所有这些。@camickr Ok好的,我习惯
再一次,请在创建和发布一个小程序上投入一些精力,我们可以编译、运行、修改,并希望能帮助您更正。您真的需要JOptionPane吗,为什么不只是一个对话框?@user905374,为什么要使用JDialog?然后,您需要编写所有侦听器来处理“确定”、“关闭”按钮等。JOptionPane在一条语句中为您完成所有这些。@camickr Ok好的,我习惯于JDialogs,我只使用JOptionPane进行快速提示。我不知道它可以这样使用。您真的打算将
窗格
(JScrollPane)添加到guiCenter
的BorderLayout.SOUTH位置吗?BorderLayout的边缘(相对于中心)中的组件不会水平和垂直拉伸。这很好,但我仍然看不到表上的滚动条。您的测试显示了滚动条,但我的滚动条上没有,可能是因为我在gui窗格中添加了表guicenter和guicenter?
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);
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();
}
}