- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 JButton 的首选大小设置为相同的值。基本上有两个按钮,根据哪个按钮较大,我想将另一个按钮设置为该大小。
问题是,我似乎无法获得正确的操作数来比较维度对象。我将在下面添加我的代码,但我知道 if 语句不起作用。如果有人能很快告诉我,那就太好了。
ballotNameButton = new JButton("<html><center>Edit<br>Ballot Name</center></html>");
addOfficeButton = new JButton("<html><center>Add<br>Office</center></html>");
Dimension bnbSize = ballotNameButton.getPreferredSize();
Dimension aobSize = addOfficeButton.getPreferredSize();
if(bnbSize > aobSize){
addOfficeButton.setPreferredSize(bnbSize);
}else if(aobSize > bnbSize){
ballotNameButton.setPreferredSize(aobSize);
}
无论如何,只是一个简单的问题。尝试用各种方式谷歌搜索,但找不到答案,我确信我的措辞有问题,但我们将不胜感激。
最佳答案
您不能使用>
和<
像您想要的那样比较大多数对象。某些对象实现 Comparable
接口(interface),可以与 compareTo()
进行比较方法。如果这是java.awt.Dimension
,它没有实现Comparable
,因此您必须创建一个自定义 Comparator
并定义您要比较的字段。
例如,如果您想根据面积比较对象,代码将如下所示:
class DimensionComparator implements Comparator<Dimension> {
private static double area(Dimension d) {
return d.getWidth() * d.getHeight();
}
public int compare(Dimension d1, Dimension d2) {
return Double.compare(area(d1), area(d2));
}
}
方法compare()
应该返回:
1
,如果d1
大于d2
0
,如果d1
等于d2
-1
,如果d1
小于 d2
然后您应该在类中创建比较器实例:
private static Comparator<Dimension> dimComparator = new DimensionComparator();
并使用compare()
比较对象:
if (dimComparator.compare(bnbSize, aobSize) > 0) {
addOfficeButton.setPreferredSize(bnbSize);
} else if (dimComparator.compare(aobSize, bnbSize) > 0) {
ballotNameButton.setPreferredSize(aobSize);
}
如果您只想比较特定字段(例如高度),只需执行以下操作:
if (bnbSize.getHeight() > aobSize.getHeight()) {
addOfficeButton.setPreferredSize(bnbSize);
} else if (aobSize.getHeight() > bnbSize.getHeight()) {
ballotNameButton.setPreferredSize(aobSize);
}
关于Java:如何比较 Dimension 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29370465/
我的代码如下所示: unemp n)) stop("wrong embedding dimension") : argument is of length zero Called from: emb
Macports 更新后,我认为更新了 numpy,我收到警告: VisibleDeprecationWarning: boolean index did not match indexed arra
我试图使用 MNIST 数据集实现简单的神经网络,但我不断收到此错误 将 matplotlib.pyplot 导入为 plt import torch from torchvision import
我编写了自己的相机 Activity ,我在FrameLayout中显示照片的实时预览,但是实时图片看起来不自然,有点高,我认为这是因为尺寸FrameLayout 的尺寸与相机的尺寸不匹配。我应该做什
tf.reduce_mean() 函数以 axis 参数中引用的索引的方式对数组元素求和。 在下面的代码中: import tensorflow as tf x = tf.Variable([1, 2
我有一个航类延误数据电子表格,我正在处理一个显示每个机场总延误时间的工作表。我想过滤维度“机场”,即根据每个机场的起飞次数创建机场类别,“小型”、“中型”和“大型”,这是通过计算维度“航类号”计算得出
如何在 3 列 X_train 数据上使用以下代码。错误 "ValueError: query data dimension must match training data dimension" 在
JavaScript:给定一个字符串数组: ['properties.dimensions.length', 'properties.name'] 在散列中使用这些来验证或访问它们(实际上只是想验证
JavaScript:给定一个字符串数组: ['properties.dimensions.length', 'properties.name'] 在散列中使用这些来验证或访问它们(实际上只是想验证
我有以下代码用于整数 vector 的 vector (即整数矩阵..) vector > scores (3, vector(2,0)); cout<
尽管已经有很多关于这个主题的答案,但在下面的例子中没有看到(摘自 https://gist.github.com/lirnli/c16ef186c75588e705d9864fb816a13c on
我有一堆保证有的图片: 最小宽度 = 200 像素 最大宽度 = 250 像素 最小高度 = 150 像素 最大高度 = 175 像素 我想要做的是显示一个由 200 像素 x 150 像素组成的图像
转tensorrt时报错: input: kMAX dimensions in profile 0 are [2,3,128,128] but input has static dimensions
我正在尝试对在 UCI 机器学习数据库中找到的一些文本识别数据进行 k 最近邻预测。 (https://archive.ics.uci.edu/ml/datasets/Letter+Recogniti
如何有效地在更高维空间上追踪等值面 最佳答案 你有一个 N 维的标量成本函数, f(y0, y1, .., yN) ∊ ℝ, y ∊ ℝ 但仅在规则的矩形网格中采样, yk = Ψk + ψk x
我正在尝试根据《Doing Bayesian Data Analysis: A Tutorial with R, JAGS, and Stan (2015)》一书来学习贝叶斯分析。 这本书里有例子。所
LEt x_t = F(x_{t-1}) 是 chaotic regime. 中的一个时间离散动力系统 从初始条件x_0开始,我们可以生成一个时间序列=x_t,其中t =1,2,...,T 表示时间索
当我尝试使用: const {width, height} = Dimensions.get('window'); 在 React Native 组件上,我收到一个以前从未见过的奇怪错误: 找不到变量
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 2 年前。 Improve
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 9 年前。 Improve
我是一名优秀的程序员,十分优秀!