【问题标题】:Java Fitting JPanel into Modal JDialogJava将JPanel拟合到模态JDialog中
【发布时间】:2015-06-02 22:26:53
【问题描述】:

我有一个返回 JPanel 的类:

  public static JPanel program(String csvName) {

        JPanel f = new JPanel();

        try {

            String path = System.getProperty("user.dir");

            String datafile = path+"/files/logic/"+csvName+".csv";
            FileReader fin = new FileReader(datafile);
            DefaultTableModel m = createTableModel(fin, null);
            JTable table = new JTable(m);
            JScrollPane stable = new JScrollPane (table);
            stable.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
            stable.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

            f.add(stable);

             f.setMinimumSize(new Dimension(900,500));
             JFrame desktopFrame = new JFrame();
             desktopFrame.add(f);
             desktopFrame.setSize(900, 500);
             desktopFrame.setVisible(true);

            toExcel(m, new File(path+"/files/logic/"+csvName+".csv"));

        } catch (Exception e) {
            e.printStackTrace();
        }

        return f;

    }

这就是用来显示 JPanel 模态的。

String csv = "war";
JPanel f = T1Data.program(csv);

JDialog desktopFrame = new JDialog();
desktopFrame.add(f);
desktopFrame.setModal(true);
desktopFrame.setSize(900, 500);
desktopFrame.setVisible(true);

但是我得到的结果是 JPanel 居中而不适合 JDialog。

看起来像这样: http://gyazo.com/4bc360e7d2c7cf7117a95d748d520838.png

我该如何解决这个问题?

【问题讨论】:

    标签: java swing csv jtable jdialog


    【解决方案1】:

    JPanel 使用的是FlowLayout,如果您将其更改为BorderLayout,滚动面板将被布置成填满整个容器。

    您还应该考虑使用JDialog#pack 而不是setSize

    【讨论】:

    【解决方案2】:

    要使面板适合对话框的大小,您可以更改对话框的LayoutManager,或者,由于这显然应该是添加到对话框中的唯一面板,只需将面板设置为内容窗格(@987654322 @ 而不是 desktopFrame.add(f))。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-26
      • 1970-01-01
      • 2012-02-16
      • 2013-02-14
      • 1970-01-01
      相关资源
      最近更新 更多