相关疑难解决方法(0)

设置JDialog的最大大小?

简短的版本:我需要做一些棘手的事情来让JDialog的setMaximumSize()起作用吗?

完整版:我有一个JDialog(布局管理器:BorderLayout),它包含一个滚动窗格和底部带有提交按钮的JPanel.

滚动窗格包含一个JPanel,它在系统的其他位置动态构建.

我想要的是对话框在JPanel周围动态调整大小到一定大小,然后开始增长滚动条.这或多或少是默认情况下发生的事情,除了最大尺寸似乎是我的显示器的大小.

认为这是从java.awt.Component继承的.setMaximumSize()方法,但设置它似乎没有任何影响.

设置首选大小确实有效 - 但是无论如何,对话框总是那么大,这实际上并不是我想要的.

(如果我在滚动窗格上设置最大/首选大小属性,效果是相同的.)

我错过了一些非常明显的东西吗?是否有一些我不知道的古怪的JDialog/BorderLayout/MaximumSize交互?

java swing jdialog

4
推荐指数
2
解决办法
1万
查看次数

将面板添加到框架,但在应用程序运行时不显示

我正在创建一个应用程序,框架中有两个面板,顶部有一个菜单栏。菜单栏显示得很好,到目前为止设置的任何操作都可以工作,但其他两个面板从未出现。

我试过追溯所有将它们添加到框架上的面板和线条,但找不到任何错误。

没有显示的两个窗格中的第一个,即 drawForm() 方法中的表单,在我添加一些组件之前确实显示了,但是因为即使我再次删除组件也没有显示。

这是 Frame 类:

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

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Frame {
    public static void drawFrame(){
        // Create frame
        JFrame frame = new JFrame("Frame");
        // Set default close operation
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // Set frame attributes
        frame.setVisible(true);
        frame.setSize(400, 300);
        frame.setResizable(false);
        // Set Layout
        frame.setLayout(new BorderLayout());
        // Add Components
        frame.add(drawMenuBar(), BorderLayout.NORTH);
        JPanel twinPane = new …
Run Code Online (Sandbox Code Playgroud)

java swing panels

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

java ×2

swing ×2

jdialog ×1

panels ×1