我需要建立一个面板,它包含2个内部面板,从左到右排序,有固定的高度和不同的宽度。宽度扩展,或者换句话说,x填充量取决于父容器的宽度。场景是,直到父容器的某个宽度,我只希望右面板填充它所需的水平空间,从该宽度到更大的宽度,只希望左面板展开,依此类推。
我尝试了两种方法--切换两个子面板的GridBagConstraints
,或者使用BorderLayout
并类似地删除子面板,然后将它们与展开组件的相应BorderLayout.Center
或BorderLayout.East
(或west)重新添加。此切换将在计算结果宽度间隔时进行,方法是使用componentresized
调用,将componentadapter
添加到父容器。问题是,调整大小事件不是连续的--例如,我接收到宽度的事件:317、322、330,不一定是中间的所有数字,并且只有在组件调整大小并绘制后才会触发。
当我们看到面板扩展到不应该的宽度时,这会导致非常恼人的闪烁。
您可以使用JSplitPane。检查此代码:
import java.awt.EventQueue;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JSplitPane;
public class test extends JFrame {
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
test frame = new test();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public test() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
JSplitPane splitPane = new JSplitPane();
setContentPane(splitPane);
splitPane.setBorder(null);
}
}
问题内容: 我的元素: 风格: 脚本,使其保持方形: 问题是要在纯CSS中做同样的事情。没有脚本。 问题答案: 我知道有两种技术可以根据元素的高度保持元素的长宽比: 当 高度相对于视口时 : 您可以使用vh单位: 对于 基于父元素的高度的高度 : 您可以使用具有所需纵横比的虚拟图像。宽高比为1:1的示例可以使用1 * 1透明.png图像,也可以使用@vlgalik注释为1 * 1 base64编码
我试图使每个项目的宽度的基础上的内容,但我到目前为止设置的宽度所有的方式可用的空间。我做错了什么? 目标是根据内容大小设置宽度。 目前 https://jsfiddle.net/v6cgLjbd/8/
我需要根据屏幕大小运行不同的行为。所以我有不同类型的屏幕。如果屏幕很小,计算中的变量必须是40。随着它的增长,变量数需要减少。 实例 非常小的屏幕宽度-480 |变量=40 小屏幕宽度-720|变量=30 中等屏幕宽度-1600 |变量=20 大屏幕宽度-2560 |变量=10 这是我的一些代码
我试图制作一个可扩展的小部件(使用ExpansionTile),但我听说有时间让蓝色容器填满行的全部高度。文本的长度是动态的,所以“title”可能跨越几行(我用展开的代码包装了它)。
问题内容: 我有这样的事情: 两个花车都是必需的。我希望内容div填充整个屏幕减去菜单的那些100px。如果我不使用浮点数,div会完全按照它的比例扩展。但是当设置了float时如何设置呢?如果我用…… 然后内容div会获取父级的大小,它是正文或我也尝试过的另一个div,因此,它当然不适合菜单右侧,然后显示在下面。 问题答案: 希望我正确理解了您,看看这个: